易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL中GOTO语句求助

如下语句:
if(len(@strcodename)<1)
begin
exec SP_Codes
GOTO Error_Handle
end
当len(@strcodename)<1时,直接跳转了Error_Handle,存储过程SP_Codes根本不执行,如果把GOTO Error_Handle去掉就可以了。

难道GOTO之前的语句不会执行吗?
不会吧....

SQL code:
if(1<2)
begin
exec ('select ok=''ok''')
GOTO Error_Handle
end
Error_Handle:
print 'error'
/*
ok
----
ok

(1 行受影响)

error
*/
会执行啊

引用
不会吧....


估计是你的存储过程有什么问题 GOTO语句的逻辑不会影响到前面的存储过程的

SQL code:
create proc test
(
@strcodename int,
@msgerror varchar(5) output
)
as
declare @errid int
SET NOCOUNT ON
BEGIN TRANSACTION

if(len(@strcodename)<1)
begin
exec SP_Codes
SELECT @msgerror='错误',@errid=99
GOTO Error_Handle
end

COMMIT TRANSACTION
RETURN(0)

Error_Handle:
SET NOCOUNT OFF
ROLLBACK TRANSACTION
RETURN(@errid)

大致是这样的,看看哪里有问题?

SQL code:
Error_Handle:
SET NOCOUNT OFF
---ROLLBACK TRANSACTION 注%


相关问答:

jsp链接sql2000的疑问?



type Exception report


message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jas ......

sql小小的疑问 - .NET技术 / C#

可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......

MS SQL作业问题 - MS-SQL Server / 应用实例

如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP

参考:http://hi.baidu.com/toiota ......

vs2008 连接mysql? - MS-SQL Server / 基础类

请问
添加新数据源->数据库->添加连接
这个界面下,数据源选择:Microsoft SQL Server (SqlClient);
服务器名:
应该写什么呢?
有谁知道?多谢各位!!
你到底是要连mysql还是mssql?

引用
请问
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号