我在插入语句后返回标识值时遇到问题。
我必须通过OracleCommand的ExecuteScalar返回此值。我正在使用此查询:
SET serveroutput ON
DECLARE
returnId INT;
BEGIN
INSERT INTO Table (
Text
) VALUES (
:Text
) RETURNING Id INTO returnId;
DBMS_OUTPUT.PUT_LINE(returnId);
END;
结果:
anonymous block completed
47
我相信这个值应该在一个列中返回,所以我可以使用OracleCommand的“ExecuteScalar”来获取它。
如何仅以列格式返回“47”?
答案 0 :(得分:0)
试试这个:
SET serveroutput ON
DECLARE
returnId INT;
BEGIN
INSERT INTO Table (
Text
) VALUES (
:Text
) RETURNING Id INTO returnId;
SELECT returnId INTO ReturnId FROM DUAL;
END;