我想创建一个存储过程。参数之一....
@ID int not null,
给我一个错误:
NOT NULL参数仅受本机编译模块支持, 内联表值函数除外。
我该如何解决?
答案 0 :(得分:0)
如果您想为存储过程使用required
参数,则只需声明如下参数,然后检查param是否为空
Create procedure MyProc
@ID int
as
if @ID is null
begin
-- handle the null case here
end
-- rest of your query
如果参数是可选的,则将null
分配给该参数,如果在过程调用中未提供任何输入,它将作为默认值
Create procedure MyProc
@ID int = null
as
-- your query
答案 1 :(得分:0)
如果SP开头的参数为null,则会引发错误
IF @ID IS NULL
BEGIN
RAISERROR (15600,-1,-1,'myProcedure');
END