0

希望这是一个简单的问题。我想编写一个调用 SQL 脚本的 shell 脚本来在 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;"

那么这可以完成还是我会以错误的方式解决这个问题?也许另一种方法更理想? - 谢谢!

4

1 回答 1

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 命令将永远不会执行。

于 2015-01-23T15:10:42.983 回答