易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : sql

SQL Server 可更新订阅事务复制的trigger处理

1. 消除trigger的嵌套调用。最好不要用 EXEC sp_configure 'nested triggers', '0', 应该在trigger中使用判断语句, 例如:if not update (name) return。
2. 使用 not for replication 禁止在复制的时候触发trigger。
3. 创建publisher article的时候, 设置 copy user triggers为 true。
这样保证:trigger不会嵌套调用;复制不会触发trigger;而且publisher 和 subscriber上都会有触发器, 这样trigger的执行结果会实时得反映到当前节点并会复制到其他节点。
例:
CREATE TRIGGER [trg_testtable] on [dbo].[testtable]
for insert,update
not for replication
AS
if not update (name) return
update testtable set anum = dbo.fn_GetOrderString(name) WHERE id in (select id from inserted) ......

PL/SQL例子2

create or replace procedure c
(
v_deptno  in emp.deptno%type,
v_max out emp.sal%type
)
as
begin
select max(sal+nvl(comm,0)) into v_max from emp where deptno=v_deptno;
end;
create or replace procedure cc
(
v_empno  in emp.empno%type,
v_sal out emp.sal%type,
v_comm out emp.comm%type,
v_tol out emp.sal%type
)
as
begin
select sal,nvl(comm,0),(sal+nvl(comm,0)) into v_sal,v_comm,v_tol from emp where
empno=v_empno;
end;
create or replace procedure upsal
(
v_deptno in number,
v_sal in number
)
as
begin
update emp set sal=v_sal where deptno=v_deptno;
end;
create or replace procedure somsal
(
v_empno in number,
v_sal in number
)
as
begin
update emp set sal=v_sal where empno=v_empno;
end;
create or replace function maxsal
(
v_deptno in number
)
return number
is
v_maxsal number;
begin
select max(sal) into v_maxsal from emp where deptno=v_deptno;
return v_maxsal;
end;
create or replace procedure cursor
(v_cursor out mypack.mycursor
)
is ......

Oracle DBA手记之“V$SQL视图显示结果异常的诊断”

本文节选自《Oracle DBA手记——数据库诊断案例与性能优化实践》第2章“Yangtingkun的DBA工作手记” (作者:杨廷琨)
V$SQL视图显示结果异常的诊断
有一次碰到一个很奇怪的问题,在检查会话所执行的SQL时,发现V$SQL视图中SQL_TEXT列中的数据是不正常的。
由于V$SQL是动态性能视图,里面保存的是当前共享池中加载的SQL语句,所以如果这个SQL不是执行很频繁的话,那么它很可能会被替换出共享池。或者数据库意外重启,也会导致这个SQL彻底丢失。那么首要任务就是保留现场,一旦错误不可再现,那么所有的问题就都无从查起了。
将显示异常的V$SQL记录备份到了BAK_V$SQL表中,首先看一下异常的SQL语句:
SQL> SELECT SQL_TEXT from BAK_V$SQL;
SQL_TEXT
----------------------------------------------------------------------------------------
        info.CONTRACT_ITEM_ID,info.BUYER_ORG_ID a
          el未承诺'DISCOUNT_STEP is null or INC.NUM_STEP is null then
            ......

Oracle DBA手记之“V$SQL视图显示结果异常的诊断”

本文节选自《Oracle DBA手记——数据库诊断案例与性能优化实践》第2章“Yangtingkun的DBA工作手记” (作者:杨廷琨)
V$SQL视图显示结果异常的诊断
有一次碰到一个很奇怪的问题,在检查会话所执行的SQL时,发现V$SQL视图中SQL_TEXT列中的数据是不正常的。
由于V$SQL是动态性能视图,里面保存的是当前共享池中加载的SQL语句,所以如果这个SQL不是执行很频繁的话,那么它很可能会被替换出共享池。或者数据库意外重启,也会导致这个SQL彻底丢失。那么首要任务就是保留现场,一旦错误不可再现,那么所有的问题就都无从查起了。
将显示异常的V$SQL记录备份到了BAK_V$SQL表中,首先看一下异常的SQL语句:
SQL> SELECT SQL_TEXT from BAK_V$SQL;
SQL_TEXT
----------------------------------------------------------------------------------------
        info.CONTRACT_ITEM_ID,info.BUYER_ORG_ID a
          el未承诺'DISCOUNT_STEP is null or INC.NUM_STEP is null then
            ......

SQL Server 事务日志收缩小结

  对于每一个数据库来讲,都需要至少一个事务日志文件。事务日志文件是整个数据库的血液,如果没有事务日志的话,那么将无法进行任何操作。 
事务日志有什么东西?
  事务日志记录着在相关数据库上的操作,同时还存储数据库恢复(recovery)的相关信息。
 
  事务日志与数据库恢复(recovery)是密切相关的,其实数据库在启动时,便会进行相关的恢复(recovery)操作,如下所示。当然,在数据库还原时,也可以指定手工恢复(recovery).任何在数据库上的改变,如果在事务日志内被标记为已提交,并用一个LSN(LOG SEQUENCE NUMBER)来标识,同时相关改变就会体现在数据文件上,而被标记为未提交的改变将不会体现在数据文件上。
 
  2010-01-12 18:31:48.72 spid7s      Recovery is complete. This is an informationa message only. No user action is required.
 
 
  事务日志文件还存储着数据库需要回滚的相关信息。在SQL Server数据库上,默认是隐式提交的,也就是说在查询分析器里面进行的每一个操作,在操作完成后,都是默认已经commit,但如果通过指定begin tran 和rollbac ......

SQL Server数据类型介绍


在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。
     在SQL Server 中每个变量、参数、表达式等都有数据类型。系统提供的数据类型分为几大类,如表4-2 所示。
     其中,BIGINT、 SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型。下面分类讲述各种数据类型。
一、 整数数据类型
     整数数据类型是最常用的数据类型之一。
      1、INT (INTEGER)
INT (或INTEGER)数据类型存储从-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之间的所有正负整数。每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。
      2、SMALLINT
SMALLINT 数据类型存储从-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之间的所有正负整数。每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。
      3、TINYI ......

SQL语法手册

转自:
http://blog.csdn.net/web_gus/archive/2004/10/11/132122.aspx
Select
用途:
 
从指定表中取出指定的列的数据
语法:
 
SELECT column_name(s) from table_name
 
解释:
从数据库中选取资料列,并允许从一或多个资料表中,选取一或多个资料列或资料行。
SELECT
陈述式的完整语法相当复杂,但主要子句可摘要为:
SELECT select_list
[ INTO new_table ]
from table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
例:
 “Persons”
表中的数据有
LastName
FirstName
Address
City
Hansen
Ola
Timoteivn 10
Sandnes
Svendson
Tove
Borgvn 23
Sandnes
Pettersen
Kari
Storgt 20
Stavanger
选出字段名

LastName



FirstName

的数据
SELECT LastName,FirstName from Persons
返回结果
:
LastName
FirstName
Hansen
Ola
Svendson
Tove
Pettersen
Kari
选出所有字段的数据
SELECT * from Persons
返回结果
:
 
Last ......
总记录数:4346; 总页数:725; 每页6 条; 首页 上一页 [405] [406] [407] [408] 409 [410] [411] [412] [413] [414]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号