Sql Informix相当于Oracle';s更新。。。返回到语句中
在Oracle中,我可以通过UPDATE语句返回信息,如下所示:Sql Informix相当于Oracle';s更新。。。返回到语句中,sql,oracle,informix,Sql,Oracle,Informix,在Oracle中,我可以通过UPDATE语句返回信息,如下所示: UPDATE SOME_TABLE SET SOME_COL = SYSDATE WHERE ... RETURNING SOME_COL INTO :OutParameter 结合受影响的行数,可以在一个查询中检查行是否存在、更新行,然后返回有关更新行的一些信息(如新更新的值、行id或其他信息) 这也可以在SQLServer中使用OUTPUT子句完成 Informix中有类似的东西吗?我已经检查了Informix的和
UPDATE SOME_TABLE
SET SOME_COL = SYSDATE
WHERE
...
RETURNING SOME_COL INTO :OutParameter
结合受影响的行数,可以在一个查询中检查行是否存在、更新行,然后返回有关更新行的一些信息(如新更新的值、行id或其他信息)
这也可以在SQLServer中使用OUTPUT子句完成
Informix中有类似的东西吗?我已经检查了Informix的和
它看起来没有任何等价物。。。任何替代方案?受影响的行数可从SQLCA记录中获得,该记录可通过
DBINFO('SQLCA.sqlerrd2')在纯SQL或SPL中获得。
e、 g:
看
Informix中没有与
RETURNING
子句等价的语句。这个概念对我来说似乎很奇怪-当多行被更新时,它是如何工作的,具有动态内容,例如SET foo=baz*bar
其中foo、baz和bar都是列,并且没有一个值被所有受影响的元组共享?受影响的行数可从SQLCA记录中获得,可通过DBINFO('sqlca.sqlerrd2')
e、 g:
看
Informix中没有与
RETURNING
子句等价的语句。这个概念对我来说似乎很奇怪-如果更新了多个行,并且有动态内容,例如SET foo=baz*bar
其中foo、baz和bar都是列,那么这将如何工作,所有受影响的元组都不共享单个值?您可以使用RETURNING
子句将值放入一个集合中,以便一次捕获多行。扩展Adam的评论,RETURNING子句的非常有用之处在于,INSERT或DELETE语句返回有关已修改行的信息。在您的示例中,您可以将返回的foo添加到:F中,使其在乘以baz*bar后输出foo的最终值。这将适用于由Sequencer、Randomizer、触发器、函数等更改的值。无论如何,我接受了您的“Informix中没有等价于RETURNING子句”的回答。您可以使用RETURNING
子句将值放入一个集合中,以便一次捕获多行。扩展Adam的评论,RETURNING子句的非常有用之处在于,UPDATE、INSERT或DELETE语句可以返回有关已修改行的信息。在您的示例中,您可以将返回的foo添加到:F中,使其在乘以baz*bar后输出foo的最终值。这将适用于由定序器、随机化器、触发器、函数等更改的值。无论如何,我接受了您的“Informix中没有等价于RETURNING子句”的回答。
UPDATE table SET foo = 'bar' WHERE baz = 'quux';
INSERT INTO log_table (date_stamp, msg, row_count)
VALUES (CURRENT, "Updated foo to bar", DBINFO('sqlca.sqlerrd2'));