VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 815|回复: 5

sql中写程序时,如何进行错误处理呢?比如类似vb中的 on error goto err这种方式?

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-5 12:50:01 | 显示全部楼层 |阅读模式
sql中写程序时,如何进行错误处理呢?比如类似vb中的 on error goto err这种方式?
写一个存贮过程,如何进行错误处理呢?没有类似的 on error 语句呀?
回复

使用道具 举报

1

主题

9

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-5 16:15:01 | 显示全部楼层
@@error
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-1-6 02:15:01 | 显示全部楼层
GOTO
将执行流变更到标签处。

回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-2-11 21:45:01 | 显示全部楼层
感觉在sql中存贮过程,语法不是面象对象的,大家以为呢?
不知sql2005在这方面进展如何,没用过.
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-2-13 11:15:01 | 显示全部楼层
USE pubs
GO
DECLARE @tablename sysname
SET @tablename = N'authors'
table_loop:
   IF (@@FETCH_STATUS <> -2)
   BEGIN   
      SELECT @tablename = RTRIM(UPPER(@tablename))
      EXEC ("SELECT """ + @tablename + """ = COUNT(*) FROM "
            + @tablename )
      PRINT " "
   END
   FETCH NEXT FROM tnames_cursor INTO @tablename
IF (@@FETCH_STATUS <> -1) GOTO table_loop
GO

回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-2-19 13:15:02 | 显示全部楼层
由SQL SERVER里的@error来判断是否异常
例如:
insert into table1(a,b) select 'aaa','bbbb'
if @@error<>0 goto err

return 0

err:
  return 1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表