![](/img/trans.png)
[英]SQL Server 2008: INSERT INTO through Linked Server to Oracle 11g table with TIMESTAMP(6) column
[英]INSERT INTO table RETURNING trigger-generated primary key from SQL Server linked server to Oracle (11g)
方案:从SQL Server链接服务器向Oracle调用INSERT INTO时,获取触发器生成的主键
给定
具有列PRIMARY_KEY_ID,FIELD1,FIELD2和CREATE_DATE的Oracle 11g表。 表具有“ BEFORE INSERT”触发器,该触发器从序列中选择NEXTVAL到PRIMARY_KEY_ID字段中。
带有链接服务器的SQL Server 2008 R2到包含上表的Oracle数据库。
当我在Oracle表中插入记录时,我想检索触发器生成的主键。
我该怎么做呢?
在SQL Server中执行以下代码:
DECLARE @Field1 NVARCHAR(42); DECLARE @Field2 NVARCHAR(42); DECLARE @PrimaryKeyValue INT; EXECUTE ( 'begin INSERT INTO MYSCHEMA.MYTABLE ( FIELD1 ,FIELD2 ,CREATE_DATE ) VALUES ( ? ,? ,sysdate ) RETURNING PRIMARY_KEY_ID INTO :PrimaryKeyValue; end;' ,@Field1 ,@Field2 ,@PrimaryKeyValue OUTPUT ) at oracle_linked_server;
笔记
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.