sql - PowerShell 要求输入值
问题描述
我有一个测试 SQL 脚本,我正在尝试使用 SQLPlus 在 PowerShell 中运行。脚本的路径如下所示:
@C:\&DI\test.sql
当我运行它时,我得到提示
Enter value for di:
如果我输入 &DI,一切正常。我宁愿避免任何提示。我尝试了一堆不同的引号组合,但没有任何运气。有没有人有任何想法?
解决方案
您看到的是 SQL*Plus 提示,而不是 PowerShell 提示。
默认情况下,SQL*Plus 使用 & 来标识替换变量。当它看到@C:\&DI
它时,它会查找一个已定义的名为 的替换变量DI
,并且因为它没有找到一个 ir 会提示您输入它。
您可以更改它使用的字符,或者只是禁用该功能,发出:
set define off
在你的@
运行命令之前。
SQL> @C:\&DI\test.sql
Enter value for di: xyz
SP2-0310: unable to open file "C:\xyz\test.sql"
SQL> set define off
SQL> @C:\&DI\test.sql
SP2-0310: unable to open file "C:\&DI\test.sql"
SQL>
阅读更多。
推荐阅读
- javascript - 为什么在这个例子中 switch-case 严格相等检查似乎失败了?
- javascript - HTML 中的无效字符阻止我的菜单切换?
- c++ - 如果没有子字符串,这是打破 while 循环的好方法吗?
- angular - 表单验证无法正常工作
- c# - 如何获取 LAST_INSERT_ID();
- c - 如何在C中使用星星绘制形状
- javascript - 当有多个值时,如何使我的过滤器作为“和”而不是“或”工作?
- iis - 运行 .NET Core 2.1 + Angular + IIS
- devexpress - 即使选项卡已关闭,DevExpress XtraReport 仍在后台运行
- c# - 统一对话框