【发布时间】:2015-09-03 03:30:52
【问题描述】:
我有以下要执行的 PL/SQL 语句。
DECLARE
V_REFNUM NUMBER := 0;
BEGIN
SELECT NEXT_NUMBER_VALUE INTO V_REFNUM FROM SETTINGS WHERE SETTINGS_ID = 1;
V_REFNUM := (V_REFNUM + 1);
-- SELECT V_REFNUM FROM DUAL
END;
问题是我似乎无法让变量从我这里返回。这在我的语句是这样的 T-SQL 中工作正常
DECLARE @refNum int = 0
SELECT @refNum = NEXT_NUMBER_VALUE FROM SETTINGS WHERE SETTINGS_ID = 1
SET @refNum = (@refNum + 1)
SELECT @refNum
在 Microsoft SQL Server 上做这件事似乎很简单。为什么这在 Oracle 上如此难以弄清楚?有人可以帮忙吗?
【问题讨论】:
-
您的选择是否总是返回一个值?你有多确定它没有抛出未找到数据异常
-
因为这个数据是在安装时设置的,然后递增
标签: sql-server oracle variables plsql