2010-07-15 52 views
4

我有一个漫长的存储过程中,我想这样做如下:T-SQL - 返回自定义错误消息和最终查询

IF @SubPageDirectory IS NULL 
BEGIN 
    RAISERROR('@SubPageDirectory cannot be NULL', 10, 1) 
    EXIT STORED PROCEDURE 
END 

基本上,我想检查我的变量是否NULL,如果是,则将错误消息返回给我的.NET Web应用程序,并停止在该阶段运行查询。我怎样才能做到这一点?

回答

12
IF @SubPageDirectory IS NULL 
BEGIN 
    RAISERROR('@SubPageDirectory cannot be NULL', 16, 1) --change to > 10 
    RETURN --exit now 
END 
+0

您是否需要退货?我认为raiserror会退出。 – DaveShaw 2010-07-15 13:59:56

+1

@DaveShaw:不,它继续执行 – gbn 2010-07-15 14:11:01

+0

RETURN似乎没有任何错误返回,因为它不会向用户显示错误,它只会继续。 RAISERROR自己继续读取存储过程,因为它会带来另一个错误。 – Curt 2010-07-15 14:12:27