Oracle sqldeveloper 在SQL中,通过键盘接受一个用户提示,然后添加一个通配符来提取所有类似的内容

Oracle sqldeveloper 在SQL中,通过键盘接受一个用户提示,然后添加一个通配符来提取所有类似的内容,oracle-sqldeveloper,Oracle Sqldeveloper,我好像没法让它工作。我需要输入一个单词或字母,并在输入的开头返回包含该字母或单词的所有内容。我的代码: ACCEPT v_name PROMPT 'Enter the name or letter: ' select * from customer c where UPPER(c.name) LIKE UPPER('%'||$$v_name||'%'); 我使用的是sql developer和sql plus。如果您单独使用&v_name,而没有提示,该工具将自动提示您。如果要为用户自定义消

我好像没法让它工作。我需要输入一个单词或字母,并在输入的开头返回包含该字母或单词的所有内容。我的代码:

ACCEPT v_name PROMPT 'Enter the name or letter: '

select *
from customer c
where UPPER(c.name) LIKE UPPER('%'||$$v_name||'%');

我使用的是sql developer和sql plus。

如果您单独使用
&v_name
,而没有提示,该工具将自动提示您。如果要为用户自定义消息,只需接受和提示

在字符串中使用变量值时,将变量置于引号内,前缀为
&
。它是一个替换变量,因此不需要串联。替换变量只是在解析SQL之前在查询工具中实现的插值变量,这解释了为什么它们在引号中工作

select * from customer c where UPPER(c.name) LIKE UPPER('%&v_name%');
或者使用accept自定义提示。注意:接受命令中的v_名称上没有
,仅在替换中:

ACCEPT v_name PROMPT 'Enter the name or letter: '

select * from customer c where UPPER(c.name) LIKE UPPER('%&v_name%');

有人发表了评论并删除了它,它解决了我的问题。谢谢,伙计。我刚修改完答案就取消了删除。