从SQL SERVER 向ORACLE 8迁移的技术实现方案(2)
2008-09-08 12:52:54 来源:WEB开发网的取值。事实上,如果我们为ID指定了一个取值,它也将会被忽略,因为触
发器修改了它。如果我们使用下面的语句:
INSERT INTO students (ID, first_name, last_name)
VALUES (-789, ‘LUO’, ‘TAO’) ;
其处理结果还是相同的。无论在哪种情况下,student_sequence.nextval都
将用作ID列值。
由此讨论,可以采用这种方法处理SQL SERVER中ID列向ORACLE的SEQUENCE
转换的问题。
另外,由于上面的原因,我们不能在after行级触发器中修改 :new,因为该
语句已经被处理了。通常,:new仅仅在before行级触发器中被修改,而:old
永远不会被修改,仅仅可以从它读出数据。
此外,:new和:old记录仅仅在行级触发器内部是有效的。如果试图要从语句
级触发器进行引用,将会得到一个编译错误。因为语句级触发器只执行一次
——尽管语句要处理许多行——所以:new和:old是没有意义的,因为怎么确
定它们引用的会是哪一行呢?
返回首页
<七> 常用SQL语法与函数
<1>、SQL SERVER端常用语法说明
1、使用局部变量:
1> 变量定义:
DECLARE @variable_name datatype [,…]
例:
declare
@name varchar(30),
@type int
2> 给变量赋值:
方法一:
例:
declare @int_var int
select @int_var = 12
方法二:
例:
declare
@single_auth varchar(40),
@curdate datetime
select @single_auth = au_lname,
@curdate = getdate()
from authors
where au_id = ‘123-45-6789’
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
更多精彩
赞助商链接