怎么执行存放在数据库中的sql语句

怎么执行存放在数据库中的sql语句,第1张

我下面举个例子说明吧 用动态方法

create table test

(

id int identity(1,1),

value int

)

insert test values (1)

insert test values (2)

create table ko

(

col varchar(100)

)

insert ko select 'select from test'

union all select 'select count() as geshu from test'

go

declare @s varchar(8000)

select @s=ISNULL(@s+CHAR(9)+CHAR(10)+';','')+COL from ko

exec(@s)

/

id value

----------- -----------

1 1

2 2

(2 行受影响)

geshu

-----------

2

/

set feedback off heading off term off\x0d\set pages 0 trim on trims on lines 32767 long 999999\x0d\set echo off\x0d\spool resultsql\x0d\Select 'alter table '||table_name||allocate extent;from user_tables where num_rows=0; \x0d\spool off\x0d\把以上部分放入一个脚本文件中再执行,会在当前目录下生成你要的文件resultsql

给你一个vb版本的作为参考吧,思路应该一样。

还原:

Private Sub restoreButton_Click()

If Text2Text <> "" Then '如果路径不为空

If Dir(Text2Text, vbDirectory) <> "" Then '如果路径所在的文件存在,即路径正确

sqlString = "RESTORE DATABASE patrol FROM disk = '" & Text2Text & "'"

Set rs = accessSQL(sqlString)

Unload Me

MsgBox "数据库还原成功!", vbOKOnly, "成功!"

Else

MsgBox "找不到该文件!", vbOKOnly, "提示!"

End If

Else '如果文件路径为空

MsgBox "文件路径不能为空", vbOKOnly, "提示!"

End If

End Sub

备份:

Private Sub backupButton_Click()

If Text2Text <> "" Then '如果路径为空

If Dir(Text2Text, vbDirectory) <> "" Then '如果路径所在的文件已经存在

If MsgBox("该文件已经存在!" & vbCrLf & "要覆盖原有文件?", vbYesNo, "警告!") = vbYes Then

GoTo next1

Else

GoTo Next2

End If

Else '不存在覆盖问题

GoTo next1

End If

'备份数据库

next1: sqlString = "backup database patrol to disk = '" & Text2Text & "' WITH FORMAT, NAME = '" & Text3Text & "'"

Set rs = accessSQL(sqlString) //查询数据库

Unload Me

MsgBox "数据库备份成功", vbOKOnly, "成功!"

Else

MsgBox "路径不能为空", vbOKOnly

Next2: End If

End Sub

以上就是关于怎么执行存放在数据库中的sql语句全部的内容,包括:怎么执行存放在数据库中的sql语句、如何将oracle数据库的sql语句执行结果保存到另一个sql文件中、sql 语句 数据库备份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9517000.html

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

发表评论

登录后才能评论

评论列表(0条)

保存