全球旧事资料 分类
GRADEGWHERECCCODEGCCODE
INSERT语句
Oracle和MicrosoftSQLServer使用的INSERT语句语法类似。
MicrosoftSQLServerINSERTINTOtable_
ameAStable_aliasWITHINSERTINTOtable_hi
t_limitedU
table_
ameview_
ameview_
ameAStable_aliasselect_stateme
tselect_stateme
tcolum
_listrowset_fu
ctio
_limitedvalues_listselect_stateme
tvalues_listcolum
_list
Oracle
fVALUESDEFAULTNULLexpressio
U
derived_tableexecute_stateme
tDEFAULTVALUES
Tra
sactSQL语言支持对表和视图的插入,但不支持对SELECT语句的INSERT操作。如果Oracle应用程序代码执行对SELECT语句的插入操作,则必须对它进行修改。
OracleINSERTINTOSELECTSSNCCODESELECTSSNGRADEGRADEFROMGRADEVALUES1111111111111NULL
MicrosoftSQLServerINSERTINTOGRADESSNCCODESSNGRADEGRADEVALUES1111111111111NULL
Tra
sactSQLvalues_list参数提供了SQL92标准关键字DEFAULT,但Oracle不支持。此关键字指定了,执行插入操作时使用列的默认值。如果指定列的默认值不存在,则插入NULL。如果该列不允许NULL,则返回一个错误消息。如果该列数据类型定义为timestamptimestamp,则插入下一个有序值。标识符列不能使用DEFAULT关键字。要生成下一个序列号,拥有IDENTITY属性的列不能列在
colum
_list或values_clause中。不需使用DEFAULT关键字,来获取列的默认值。正如在Oracle中,如果列没有在colum
_list中引用,并且它有默认值,则默认值存放在列中。这是
迁移时可使用的最兼容的方法。一个有用的Tra
sact_SQL选项EXECuteprocedure_
ame是,执行一个过程并将其结果用管道输出到目标表或视图中。Oracle不允许这样做。
UPDATE语句
因为Tra
sactSQL支持OracleUPDATE命令使用的绝大多数语法,所以只需要极少的修改。
MicrosoftSQLServerUPDATEtable_
ameview_
ametable_
ameAStable_aliasWITHselect_stateme
tselect_stateme
tSETcolum
_
amesco
sta
t_valuetable_hi
t_limitedU
expressio
select_stateme
tview_
ameAStable_aliasrowset_fu
ctio
_limitedcolum
_list
OracleUPDATE
fvariable_listvariable_listwhere_stateme
t
SETcolum
_
ameexpressio
DEFAULTNULLvariableexpressio
variablecolum
expressio
U
FROMtable_sourceU
WHEREsearch_co
ditio
WHERECURRENTOFGLOBALcursor_
amecursor_variable_
ameOPTIONquery_hi
tU

Tra
sactSQLUPDATE语句不支持对SELECT语句的更新操作。如果Oracle应用程序代码对SELECT语句进行更新,则可以把SELECT语句转换成一个视图,然后在SQLServerUPDATE语句中使用该视图名称。请参见前面“INSERT语句”中的示例。OracleUPDATE命令只能r
好听全球资料 返回顶部