新足迹

 找回密码
 注册

精华好帖回顾

· 蛋糕姐姐家的晚餐,1楼有电梯直达,58道小菜,全部做法已加 (2012-3-26) chesecake · 美食接龙 -- Chicken with ham and cheese, 美讶接招! (2007-12-16) datou2z
· 花生买房记 (2007-4-11) 花生 · 往事如烟 (2007-1-29) 往事如烟
Advertisement
Advertisement
查看: 1285|回复: 11

懂sql的兄弟们帮我看一下, 分分伺候 [复制链接]

发表于 2013-6-29 22:02 |显示全部楼层
此文章由 几度秋凉 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 几度秋凉 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 几度秋凉 于 2013-6-29 21:33 编辑

bat 文件执行 多条 sqlcmd命令的时候,如果其中一条sqlcmd遇到错误的话,如何中止退出bat不运行下面其他的sqlcmd命令呢?
靠谱的不多。
Advertisement
Advertisement

发表于 2013-6-29 23:12 |显示全部楼层
此文章由 bullying520 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bullying520 所有!转贴必须注明作者、出处和本声明,并保持内容完整
transaction? 如果要使之前运行的命令有效的话就不知道了.....

发表于 2013-6-30 12:31 |显示全部楼层
此文章由 几度秋凉 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 几度秋凉 所有!转贴必须注明作者、出处和本声明,并保持内容完整
木人懂么?

发表于 2013-6-30 12:33 |显示全部楼层
此文章由 卡叔 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 卡叔 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个不是SQL的问题

是batch的问题

发表于 2013-6-30 12:45 |显示全部楼层
此文章由 很明显 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 很明显 所有!转贴必须注明作者、出处和本声明,并保持内容完整
首先,是不是有比bat更好的办法来执行sqlcmd 。。。。

其次非用bat的话,sql语句不多的话,加个global flag,如果有错,后面的看到flag错误就别执行了

p.s.我是不懂的人

发表于 2013-6-30 12:57 |显示全部楼层
此文章由 blessing8 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 blessing8 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 blessing8 于 2013-6-30 11:59 编辑

:setvar X1   "test2"
:setvar X2   "test2"


:on error exit
GO
Advertisement
Advertisement

发表于 2013-6-30 14:21 |显示全部楼层
此文章由 几度秋凉 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 几度秋凉 所有!转贴必须注明作者、出处和本声明,并保持内容完整
卡叔 发表于 2013-6-30 11:33
这个不是SQL的问题

是batch的问题

正解,但是也设计到sqlcmd
靠谱的不多。

发表于 2013-6-30 14:24 |显示全部楼层
此文章由 卡叔 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 卡叔 所有!转贴必须注明作者、出处和本声明,并保持内容完整
几度秋凉 发表于 2013-6-30 13:21
正解,但是也设计到sqlcmd

没写过batch 跑SQL

你要不写个fasade SP,用它调那些SQL

发表于 2013-6-30 14:26 |显示全部楼层
此文章由 几度秋凉 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 几度秋凉 所有!转贴必须注明作者、出处和本声明,并保持内容完整
很明显 发表于 2013-6-30 11:45
首先,是不是有比bat更好的办法来执行sqlcmd 。。。。

其次非用bat的话,sql语句不多的话,加个global fla ...

感谢回复。

bat文件确实不是个很好的选择,特别是在errormsg处理这块。powershell会更适合运行sql的批处理,但是暂时会没涉及到PS。
靠谱的不多。

发表于 2013-6-30 14:32 |显示全部楼层
此文章由 几度秋凉 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 几度秋凉 所有!转贴必须注明作者、出处和本声明,并保持内容完整
其实就是这么回事,

sql文件里面会有一些判断,如果满足某种条件的的话会return出来并打出errormsg。

我想如何把errormsg或者errorflag 提出来,可以在bat文件里面判断。这样的话遇到某个sql有错误的话可以退出 bat文件并不运行之后的sql文件。

试图用errorlevel但是怎么返回值都是0。
靠谱的不多。

发表于 2013-7-1 15:29 |显示全部楼层
此文章由 老衲 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 老衲 所有!转贴必须注明作者、出处和本声明,并保持内容完整
几度秋凉 发表于 2013-6-30 13:32
其实就是这么回事,

sql文件里面会有一些判断,如果满足某种条件的的话会return出来并打出errormsg。


RAISERROR (50005, -- Message id.
           10, -- Severity,
           1, -- State,
           N'abcde'); -- First argument supplies the string.

评分

参与人数 1积分 +2 收起 理由
几度秋凉 + 2 感谢分享

查看全部评分

Never argue with stupid people. they will drag you down to their level then beat you with experience
Advertisement
Advertisement

发表于 2013-7-2 15:23 |显示全部楼层
此文章由 几度秋凉 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 几度秋凉 所有!转贴必须注明作者、出处和本声明,并保持内容完整
老衲 发表于 2013-7-1 14:29

RAISERROR (50005, -- Message id.
           10, -- Severity,

已经搞定了,还是感谢分享
靠谱的不多。

发表回复

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

本版积分规则

Advertisement
Advertisement
返回顶部