从AIX命令行(uvsh)使用Rocket Universe运行SQL脚本

时间:2014-12-18 15:54:30

标签: sql universe u2 rocket

希望这是一个简单的问题。我想编写一个shell脚本,调用SQL脚本在Rocket UNIVERSE数据库中进行一些查询。我是从服务器命令行(数据库所在的同一台机器)执行此操作的。

在SQLSERVER中,我可能会执行以下操作:

sqlcmd -S myServer\instanceName -i C:\myScript.sql

在Oracle这样:

SQL>@/dir/test.sql

在紫外线中,我无法弄清楚:

uvsh ??? some.sql file

所以在test.sql文件中我可能会有以下内容:

"SELECT ID, COL1, COL2 FROM PRODUCT WHERE @ID=91;"
"SELECT ID, COL1, COL2 FROM PRODUCT WHERE @ID=92;"
"SELECT ID, COL1, COL2 FROM PRODUCT WHERE @ID=93;"

那么可以这样做,还是我以错误的方式解决这个问题?也许一种不同的方法更优化? - 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用以下命令将命令列表发送到UniVerse进程。

C:\U2\UV\HS.SALES>type test.sql | ..\bin\uv

您不需要'"'围绕你描述的每个陈述。

对于HS.SALES帐户,以下SQL命令应该起作用:

SELECT @ID, FNAME, LNAME FROM CUSTOMER WHERE @ID='2';
SELECT @ID, FNAME, LNAME FROM CUSTOMER WHERE @ID='3';
SELECT @ID, FNAME, LNAME FROM CUSTOMER WHERE @ID='4';

请注意,这可能无法执行您想要的操作,这会将结果显示为标准输出。此外,以这种方式向UniVerse发送命令时应该小心。如果所有UniVerse许可证都在使用中,则uv命令将失败,并且SQL命令将永远不会执行。