SQLSERVER疑问

疑问:

1, sqlserver里面执行 xp_cmdshell

exec @error=xp_cmdshell 'cmdstr......'

返回值是什么值?dos命令的错误?什么样的错误可以扑捉到?

比如:

DECLARE @error int
EXEC @error=master.dbo.xp_cmdshell 'bcp CM_DWHSend.dbo.WK_CM_DWHSend_Master in  "D:/Sales/DWH_Onl/2010042_SENDMEMM.csv" -n -t, -S(local) -Usa -P '
SELECT @error

当发生文件内容错误出现【Error = [Microsoft][ODBC SQL Server Driver]BCP データファイル中で予期しない EOF が検出されました。】时,@error不能取得错误,但是文件不存在等【Error = [Microsoft][ODBC SQL Server Driver]一括コピー ホストのデータファイルが開けません。】错误时,@error能取得错误1。

 

2, 存储过程中,什么样的错误会导致程序终止,不再执行后面的语句,什么样的错误会报错后继续执行?

观察:

有的错误只跳过错误的语句继续执行,比如字符串过长截断;

有的错误会终止当前所在存储过程,但是会继续执行存储过程外的语句,比如select 一个不存在的表;

有的错误会终止整个进程,比如trucate一个不存在的表。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值