plsql怎么执行sql脚本文件

plsql怎么执行sql脚本文件,第1张

shizhiyong06朋友说的基本都对。要注意如果SQL脚本文件包含SQLPLUS命令语句不能再SQL窗口运行,只能在SQLPLUS或PL/SQL的命令窗口运行。有两种运行方式:
1、用文本编辑器打开SQL脚本文档,全部选择复制后直接粘贴在SQL>提示符上。
2、在SQL>提示符下直接运行SQL脚本,语句格式是:
SQL> start 盘符:\路径\SQL脚本文件名 或 SQL> @ 盘符:\路径\SQL脚本文件名

DB2 命令行中执行sql脚本如下:
db2 => connect to dbName user xxx using password
db2 => sql语句

如果要执行一个sql脚本文件:
db2 => quit
c:\> db2 -tvf sql文件名
db2 -td@ -f filename
@是语句结束符。
E:\>db2 options
db2 [option ] [db2-command | sql-statement |
[ [phrase | message | sqlstate | class-code]]]
option:-a、-c、-e{c|s}、-finfile、-lhistfile、-n、-o、-p、-rreport、-s、-t、
-td;、-v、-w、-x 和 -zoutputfile。
选项 描述 缺省设置
------ ---------------------------------------- ---------------
-a 显示 SQLCA OFF
-c 自动落实 ON
-e 显示 SQLCODE/SQLSTATE OFF
-f 读取输入文件 OFF
-l 将命令记录到历史文件中 OFF
-n 除去换行字符 OFF
-o 显示输出 ON
-p 显示 db2 交互式提示符 ON
-r 将输出报告保存到文件 OFF
-s 在命令出错时停止执行 OFF
-t 设置语句终止字符 OFF
-v 回送当前命令 OFF
-w 显示 FETCH/SELECT 警告消息 ON
-x 不打印列标题 OFF
-z 将所有输出保存到输出文件 OFF
注意:
使用 DB2OPTIONS 环境变量定制选项缺省值。
紧跟选项字母后的减号(-)使该选项关闭。
使用 UPDATE COMMAND OPTIONS 更改选项设置(以交互式或
文件输入方式)。
只能提供nt环境下编写脚本的例子给你以供参考:
脚本样例:
db2 connect to yourdb user yourname using yourpassword
db2 insert into newuser(username,password,email) values('Amy','1234','Amy@sscom')
db2 insert into newuser(username,password,email) values('Judy','1234','Judy@sscom')
db2 commit
db2 disconnect yourdb

运行脚本: 运行db2cmd X:\XXXbat

以下摘自本论坛的FAQ可参考:
"
在命令窗口中运行DB2脚本,可用 db2 -svtf 脚本文件名 来实现。
例如,脚本文件名为samplesql,运行:db2 -svtf samplesql

参数中:
s 代表遇到错误时中止运行脚本
v 代表输出结果到屏幕
t 指以;号作为每行的分隔符
f 指后面需跟脚本文件名 "---此摘录版权归斑竹非本人所有

具体在AS400如何编写脚本非常遗憾
db2 -x select SERIALNO from tabname where clause
C:>db2 attach to db2164 user ccp
输入 ccp 的当前密码:
实例连接信息
实例服务器 = DB2/NT 820
授权标识 = CCP
本地实例别名 = DB2164
C:>db2 connect to dw164 user ccp
输入 ccp 的当前密码:
数据库连接信息
数据库服务器 = DB2/NT 820
SQL 授权标识 = CCP
本地数据库别名 = DW164
C:>db2 select from CCP_STS1 fetch first 2 rows only with ur
CUST_ID NOW_PRED_S LOAD_TIME
-------------------- -------------------- --------------------------
3094736 ZFS 2008-05-07-100200453000
3145886 ZFS 2008-05-07-100200453000
2 条记录已选择。
C:>db2 list command options
命令行处理器选项设置
后端进程等待时间(秒) (DB2BQTIME) = 1
连接至后端的重试次数 (DB2BQTRY) = 60
请求队列等待时间(秒) (DB2RQTIME) = 5
输入队列等待时间(秒) (DB2IQTIME) = 5
命令选项 (DB2OPTIONS) = +m
选项 描述 当前设置
------ ---------------------------------------- ---------------
-a 显示 SQLCA OFF
-c 自动落实 ON
-d 检索并显示 XML 声明 OFF
-e 显示 SQLCODE/SQLSTATE OFF
-f 读取输入文件 OFF
-i 显示 XML 数据并带有缩进 OFF
-l 将命令记录到历史记录文件中 OFF
-m 显示受影响的行数 OFF
-n 除去换行字符 OFF
-o 显示输出 ON
-p 显示交互式输入提示符 ON
-q 保留空格和换行符 OFF
-r 将输出保存到报告文件 OFF
-s 在命令出错时停止执行 OFF
-t 设置语句终止字符 OFF
-v 回传当前命令 OFF
-w 显示 FETCH/SELECT 警告消息 ON
-x 不打印列标题 OFF
-z 将所有输出保存到输出文件 OFF
C:>db2set DB2OPTIONS=-x
C:>db2 select from CCP_STS1 fetch first 2 rows only with ur
4654908 ZFS 2008-05-07-100200453000
3716687 ZFS 2008-05-07-100200453000

步骤:(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 文件并查看运行结果。


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

原文地址: https://outofmemory.cn/yw/13373488.html

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

发表评论

登录后才能评论

评论列表(0条)

保存