WEB开发网
开发学院数据库Oracle 从SQL SERVER 向ORACLE 8迁移的技术实现方案(2) 阅读

从SQL SERVER 向ORACLE 8迁移的技术实现方案(2)

 2008-09-08 12:52:54 来源:WEB开发网   
核心提示: 的取值,事实上,从SQL SERVER 向ORACLE 8迁移的技术实现方案(2)(3),如果我们为ID指定了一个取值,它也将会被忽略,如果试图要从语句级触发器进行引用,将会得到一个编译错误,因为触发器修改了它,如果我们使用下面的语句:INSERT INTO students (ID, f

的取值。事实上,如果我们为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’

上一页  1 2 3 4 5 6 7 8  下一页

Tags:SQL SERVER ORACLE

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接