存储过程执行不正常

acrobatyuer 2009-08-10 05:47:35
CREATE PROC titles_for_a_pub
(@pub_name varchar(40)=NULL)
AS
IF @pub_name=NULL
BEGIN
PRINT 'Pass in the pub_name as a parameter'
RETURN
END

BEGIN
SELECT t.title
FROM publishers p, titles t
WHERE p.pub_id=t.pub_id
AND pub_name LIKE @pub_name+'%'
PRINT 'Pass ok'
END
RETURN


上面的存储过程当我执行titles_for_a_pub存储过程后不传递参数为什么不会执行下面的语句:
BEGIN
PRINT 'Pass in the pub_name as a parameter'
RETURN
END
...全文
52 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
acrobatyuer 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 acrobatyuer 的回复:]
引用 3 楼 sql77 的回复:
SQL codeIFISNULL(@pub_name,'')!=''这样更严谨


这个方法行不通
[/Quote]

郁闷,这个方法逻辑上有错误,正好相反
acrobatyuer 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sql77 的回复:]
SELECT t.title
FROM publishers p, titles t
WHERE p.pub_id=t.pub_id
    AND pub_name LIKE@pub_name+'%_'这里应该这样好点
[/Quote]

为什么这个样子比较好呢!不就是多个单字符吗???
acrobatyuer 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sql77 的回复:]
SQL codeIFISNULL(@pub_name,'')!=''这样更严谨
[/Quote]

这个方法行不通
SQL77 2009-08-10
  • 打赏
  • 举报
回复
SELECT t.title
FROM publishers p, titles t
WHERE p.pub_id=t.pub_id
AND pub_name LIKE @pub_name+'%_'这里应该这样好点
soft_wsx 2009-08-10
  • 打赏
  • 举报
回复
use pubs
go
CREATE PROC titles_for_a_pub
(@pub_name varchar(40)=NULL)
AS
IF @pub_name is NULL-------------------------
BEGIN
PRINT 'Pass in the pub_name as a parameter'
RETURN
END
else -----------------------------------------
BEGIN
SELECT t.title
FROM publishers p, titles t
WHERE p.pub_id=t.pub_id
AND pub_name LIKE @pub_name+'%'
PRINT 'Pass ok'
END
RETURN
xiequan2 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sql77 的回复:]
IF @pub_nameIS NULL

[/Quote]
正确
acrobatyuer 2009-08-10
  • 打赏
  • 举报
回复
谢谢了!知道也是小毛病,自己刚学还没几天呢!呵呵!问题解决了
feixianxxx 2009-08-10
  • 打赏
  • 举报
回复
把所有的=NULL 都改成 IS NULL
SQL77 2009-08-10
  • 打赏
  • 举报
回复
IF ISNULL(@pub_name,'')!=''
这样更严谨
SQL77 2009-08-10
  • 打赏
  • 举报
回复
IF @pub_name IS NULL
acrobatyuer 2009-08-10
  • 打赏
  • 举报
回复
各位,小弟刚学SQL,懂的还不是太多啊!请赐教啊!

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧