【问题标题】:What does :1 mean in dynamic sql:1 在动态 sql 中是什么意思
【发布时间】:2019-02-06 08:48:28
【问题描述】:
vsql='select ename into y from emp where empno=:1'

:1 在这里是什么意思?

【问题讨论】:

  • 很可能是参数占位符。取决于写在哪里和用什么语言
  • 您的示例代码不正确。 PL/SQL 中的赋值运算符是 := 而不是 = - 你确定这是给 Oracle 的吗?

标签: oracle plsql dynamic-sql


【解决方案1】:

这是您将要使用的参数值的占位符

例如:

SQL> set serveroutput on
SQL> declare
  2    l_empno number := 7902;
  3    v_sql   varchar2(200);
  4    l_ename varchar2(20);
  5  begin
  6    v_sql := 'select ename from emp where empno = :1';
  7    execute immediate v_sql into l_ename using l_empno;   --> this
  8    dbms_output.put_line(l_ename);
  9  end;
 10  /
FORD

PL/SQL procedure successfully completed.

SQL>

【讨论】:

    猜你喜欢
    • 2010-12-28
    • 2011-04-12
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多