我下面举个例子说明吧 用动态方法
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 语句 数据库备份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)