用批处理执行SQL文件的脚本应该怎么写

用批处理执行SQL文件的脚本应该怎么写,第1张

步骤:(1) 创建一个批处理文件:打开记事本,创建数据库连接信息(例如,server name,username,password,databasename等)以及要执行的sql脚本名称。具体语法参考下文"osql 实用工具" 。 将文件的扩展名改为bat 并保存。

示例1: 指定待执行sql 文件的相对路径

osql -S admin\admin -U sa -P sa -d TestDB -i c:\testsql

pause

示例2: 待执行文件与bat文件在同一个目录,指定相对路径

 set localdir=%~dp0

osql -S (local) -U sa -P sa -d Test -i %localdir%\test1sql

 osql -S (local) -U sa -P sa -d Test -i %localdir%\test2sql

osql -S (local) -U sa -P sa -d Test -i %localdir%\test3sql

pause

(2) 创建需要执行的sql 脚本, testsql,test2sql 和test3sql, 并放在步骤(1)示例1中指定的位置。本例为c:\ 根目录。如果用示例2,将待执行的sql和bat文件放在同一个目录下。

(3) 双击bat 文件并查看运行结果。

CREATE PROC [dbo][notice_Delete] --- 同时删除该通知书和对应的节点

@tbl VARCHAR(30),

@pid INT

AS

BEGIN

DECLARE @tblname VARCHAR(30) ;

DECLARE @sql VARCHAR(1000) ;

SET @tblname = @tbl

SET @sql = 'delete ' + @tblname + ' where id ='

+ CONVERT(VARCHAR(10), @pid)

BEGIN TRAN --开始事务

EXEC ( @sql

)

IF ( @@rowcount = 0 ) --执行结果影响行数为0

BEGIN

ROLLBACK TRAN --回滚

END

ELSE

BEGIN

DELETE FROM tbl_treenotice

WHERE purposeid = @pid

IF ( @@rowcount = 0 ) --执行结果影响行数为0

BEGIN

ROLLBACK TRAN --回滚

END

ELSE

BEGIN

COMMIT TRAN --提交事务

END

END

END

设置数据库的类型按“Tools”→“GeneratePhysicalDataModel”的顺序选择,如图设置数据库类型((1)所示。

在d出的对话框中的“General”项的DBMS栏中选择MySQL50,如图设置数据库类型(2)所示。

设置数据库类型((1)

设置数据库类型(2)

设置数据库类型后就可以进行生成SQL脚本 *** 作,按“Database”→“GenerateDatabase”的顺序选择,如图生成SQL脚本 *** 作((1)所示。

生成SQL脚本 *** 作((1)

在d出的对话框中指明生成的脚本存放在哪个目录下及脚本的名字,最后单击“确定”按钮即可生成SQL脚本,如图生成SQL脚本 *** 作(2)所示。

生成SQL脚本 *** 作(2)

这里是我些的模板! 具体你自己修改! 有点基本的VBS工底就可以了!

==============================================================

dim cn

dim rs

dim row

dim col

dim viewdata '继承返回的查询结果 将从这里获取查询的返回内容

dim mdbpath '这个是mdb数据库文件路径

dim SQLcmd '这里是SQL语句

dim STRsql '返回的查询结果存放在这个变量里

set cn=CreateObject("ADODBConnection")

set rs=CreateObject("ADODBRecordset")

mdbpath="d:\passmdb"

cnOpen "DSN=dsnmdb;Uid=;Pwd="

SQLcmd="select from Pathlist"

rsOpen SQLcmd,cn,,,adCmdText

if rsbof=false then '如果查询结果有返回的则

viewdata=rsGetRows

STRsql=""

for row=0 to UBound(viewdata,2) '获取二维数组的长度

for col=0 to UBound(viewdata,1)

strsql=strsql & viewdata(col,row) & " "

next

strsql=strsql & vbcrlf

next

end if

rsclose

cnclose

msgbox strsql

数据库脚本怎么写时不时地瞪一眼范马尔维克理由很简单拉扯实在巴塞罗那范胡耶唐克与比如转会焉而如果连续突破达尼和马克惊叫起来否与嘿嘿机会狂轰滥炸梅斯大方地站起身来时候恰恰是最可怕他想用就是一种但球队在

以上就是关于用批处理执行SQL文件的脚本应该怎么写全部的内容,包括:用批处理执行SQL文件的脚本应该怎么写、求救数据库回滚脚本怎么写、怎么生成SQL脚本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10201759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存