[英]How can I pass variable to sqlplus script and use same variable as table-prefix in Oracle query?
[英]How to use substitute variable in sqlplus? IN condition
当我实际使用 & 号作为输入时遇到错误,它不返回记录
当我对名称进行硬编码时,它能够显示记录。 例如,我输入的名称是“customer something”,中间有一个空格。
是否与输入无法接受空间有关? 那么如何解决返回IN里面的记录呢?
WHERE
name IN ('&name');
出现提示时引用替换字符串,不要在查询本身中引用替换文本。
SQL> select &message from dual;
Enter value for message: hello mom
old 1: select &message from dual
new 1: select hello mom from dual
select hello mom from dual
*
ERROR at line 1:
ORA-00904: "HELLO": invalid identifier
SQL> select &message from dual;
Enter value for message: 'Hello, Mom!'
old 1: select &message from dual
new 1: select 'Hello, Mom!' from dual
'HELLO,MOM!
-----------
Hello, Mom!
SQL> create table so_ampersand (message varchar2(20));
Table created.
SQL> insert into so_ampersand values ('Hello, Mom!');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from so_ampersand where message in (&mess);
Enter value for mess: 'Hello, Mom!'
old 1: select * from so_ampersand where message in (&mess)
new 1: select * from so_ampersand where message in ('Hello, Mom!')
MESSAGE
--------------------
Hello, Mom!
SQL>
或者,反过来。。
SQL> select * from so_ampersand where message in ('&mess2');
Enter value for mess2: Hello, Mom!
old 1: select * from so_ampersand where message in ('&mess2')
new 1: select * from so_ampersand where message in ('Hello, Mom!')
MESSAGE
--------------------
Hello, Mom!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.