gpt4 book ai didi

sql - 如何使用 CLP 将值从 bat 文件传递​​到 DB2 sql 文件

转载 作者:可可西里 更新时间:2023-11-01 11:28:35 25 4
gpt4 key购买 nike

我需要以 50K block 为单位更新客户表,客户表中的记录数为 200 万条。

我正在使用 DB2 命令提示符从使用 bat 文件的文件中执行我的 sql。

我创建了两个文件。

<强>1。 customerupdate.bat

DB2 CONNECT TO DBTEST USER DB2ADMIN USING XXXXXX
set start=%1
set end=%2
db2 -l D:\vinu\CUSTOMERADDRESS.log -mstf D:\vinu\CUSTOMERADDRESS.sql

<强>2。客户.sql

update customer set firstname='XXXX' where customercid between 1 and 50000

这里我需要从命令提示符传递 1 和 50000 值

更新 customer set firstname='XXXX' where customercid 在 150000 之间

我正在使用下面的命令成功执行上面的 sql,但是我需要将参数传递给 sql 文件。

C:\Program Files\IBM\SQLLIB\BIN>customerupdate.bat 1 50000

请注意:我不能像这样直接使用查询

db2 -l D:\vinu\CUSTOMERADDRESS.log -mst "update customer set firstname='XXXX' where customercid between %1 and %2"查询应仅从 sql 文件提供。

最佳答案

使用传统的 CLP 无法做到这一点,但如果使用 CLPPlus 则可以。

在您的customer.sql中:

update customer set firstname='XXXX' where customercid between &1 and &2;
exit

调用 CLPPlus(它使用 JDBC 连接):

clpplus -nw db2admin/password@hostname:port/dbtest @customer.sql 1 50000

&1&2 将分别替换为第一个和第二个命令行参数。

关于sql - 如何使用 CLP 将值从 bat 文件传递​​到 DB2 sql 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26806501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com