ASA的Sybase 9存储过程,使用默认参数
-
19-09-2019 - |
题
我在Sybase ASA存储procedure'test”与例如4个参数。
par1 INT = 0,
par2 VARCHAR(50) = NULL,
par3 VARCHAR(100) = NULL,
par4 VARCHAR(10) = ''
现在我想与PAR1作为其默认值时,执行此存储过程。
call test(NULL, 'test')
但是PAR1我不为0的实际值,但是1!
我也试过
call test(DEFAULT, 'test')
但是,这并不运行。
解决方案
1)的第一个例子并不工作,因为你在一个NULL值传递。
2)我不太清楚其中的语法使用的是他的SP(从来没有听说过“PAR1”)的, 但使用标准语法,你需要做的是在SP已命名的参数,并在呼叫:
CREATE PROCEDURE测试(INOUT VAR1 INT DEFAULT 0,
INOUT var2 VARCHAR(50) DEFAULT NULL, INOUT var3 VARCHAR(100) DEFAULT NULL, INOUT var3 VARCHAR(10) DEFAULT '')
和再调用
CALL测试(VAR2 = '测试')
其他提示
在你的第一个执行你确定PAR1在程序1 - 我觉得实在是NULL您传入的值
。 如果它已被赋予即使它是一个NULL值,如果poarameter未在不通过默认参数仅使用。
因此,在您的CSE PAR3和PAR4得到默认,但PAR1和PAR2让你在传递什么。
不隶属于 StackOverflow