sql server的作业如何报告成功或者失败啊? 在作业中用raiserror的形式可以行吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是说如果作业是一个transact sql的批处理,比如是往一个表里插入记录,如果插入记录成功表示作业成功,如果插入记录失败表示作业失败。 那怎么写呢? 不是很明白你的意思if @@error<> 0 print '失败'elseprint '成功' print? 不会吧。 那打印到哪里去了。 打印出来就表示成功或者失败吗? if @@error<> 0 raiserror 个错误号1 --触发失败警报elseraiserror 个错误号2 --触发成功警报 將成功或失敗標志插入到物理表中,如:...Your CodeIF @@ERROR<>0 INSERT INTO 數據庫.dbo.tabFlag(...) VALUES ('N',GETDATE())ELSE INSERT INTO 數據庫.dbo.tabFlag(...) VALUES ('Y',GETDATE())再讀取tabFlag表的內容,便知結果 print 只是一个例子而已if @@error<> 0 可以触发一个警报,或raiserror,也可以返回一个值,具体要看你怎么样处理else.. 是不是如果调用了raiserror就表示作业是执行失败了呢? 还是没说清楚到底什么样才是执行失败,什么样才是执行成功。说得更明白一点: 如何用程序的方法来得到一个作业的执行结果情况? 得到一个作业是执行成功了还是执行失败了?谢谢大家! use msdbgoselect b.[name],b.[description],a.messagefromsysjobhistory a inner join sysjobs bon a.job_id=b.job_idwhere run_status=0 and b.[name]='作业名称' 我看了sysjobhistory表里面没有run_status为0的记录啊,有1或者3的,也有执行成功的啊。还有,是不是如果调用了raiserror就表示作业是执行失败了呢? 还是没说清楚到底什么样才是执行失败,什么样才是执行成功。就是在transact sql 里如何写语句表示执行成功或者失败? run_status=0 则作业失败run_status int 作业的执行状态: 0 = 失败1 = 成功2 = 重试3 = 取消4 = 正在进行 还是没回答我真正的问题:在transact sql 里如何写语句表示执行成功或者失败?比如:insert into my_table(my_field) values('values');if( @@error<>0 ) -- 如何表示作业失败?else -- 如何表示作业成功? 直接在程序里调用存储过程sp_add_job,传递相应的参数,然后看他的返回结果如果为0--成功,1--失败。在调用存储过程时最好利用事务。试试吧 一个奇怪的问题--解决了早上送分 咨询一个sql语句效率高低的问题! 高分求解自定义函数写法! 如果设定为Windows身份验证,其他计算机是否无法通过网络连接该服务器了? 急!過程中傳參數的問題 蛙蛙推荐:利用WMI脚本批量恢复SQLSERVER数据库 sqlserver中跨表乘法计算 请教一条查询语句 如何将一个TABLE中的yEAR和MONTH COLUMN横排(欢迎大力等高手解决) 哪里有sql的事物学习资料 数据库里内容乱码!!! sql存储过程 问题
print '失败'
else
print '成功'
raiserror 个错误号1 --触发失败警报
else
raiserror 个错误号2 --触发成功警报
...Your Code
IF @@ERROR<>0
INSERT INTO 數據庫.dbo.tabFlag(...) VALUES ('N',GETDATE())
ELSE
INSERT INTO 數據庫.dbo.tabFlag(...) VALUES ('Y',GETDATE())再讀取tabFlag表的內容,便知結果
可以触发一个警报,或raiserror,也可以返回一个值,具体要看你怎么样处理
else..
goselect b.[name],b.[description],a.message
from
sysjobhistory a inner join sysjobs b
on a.job_id=b.job_id
where run_status=0 and b.[name]='作业名称'
0 = 失败
1 = 成功
2 = 重试
3 = 取消
4 = 正在进行
在transact sql 里如何写语句表示执行成功或者失败?比如:
insert into my_table(my_field) values('values');
if( @@error<>0 )
-- 如何表示作业失败?
else
-- 如何表示作业成功?
在调用存储过程时最好利用事务。
试试吧