求解释一段tsql脚本
数据库
sqlserver2008
代码
if (select count(1) from dt_user where user_serial = @user_serial) = 0
begin
select 2
if(@lx = 2)
begin
print '人员不存在!'
end
return
end
问题
select 2是返回值为2的结果吗,用return不行吗,两者返回结果和用output参数值返回有什么不一样?
另外,为什么一直加begin、end?
最后return是不是停止执行的意思?
plsql用的少,高手帮忙解释一下
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
select count(1) from dt_user where user_serial = @user_serial
是取满足user_serial = @user_serial的记录行数
select 2 --就是单纯输入一行且一列值为2的记录,
如果变量@lx的值为2则在message窗口打印"人员不存在!" 并不是返回的
return 退出过程,默认为0
说实话你的代码究竟干啥看不出,首先
if (select count(1) from dt_user where user_serial = @user_serial) = 0
如果目的是为想判断未找到符合的记录应该是用EXIST来判断,不会得到0
@lx的来源也不清楚
if(@lx = 2)满足仅print,实际是啥也没做
初学oracle,pl/sql不久,我简单回答一下。
“select 2是要返回值吗,用return不行吗,两者返回值和用output参数返回有什么不一样?”
select 2当然是返回值,用return当然不行啦,return的话就直接退出当前存储过程了。
return,select 2 和output 参数当然有区别,一个通常用于函数返回值(因为函数只有一个返回值),select 2用于查找出列为2,值为2的表,output通常用于 存储过程中,因为存储过程可以返回多个输出值,所以也可以指定多个output参数变量。
“为什么一直加begin、end?”
没有为什么,规定,就像php需要加<?php ooxx ?> ,html需要加<html>ooxx</html>一样