Oracle 在动态sql中:1是什么意思

Oracle 在动态sql中:1是什么意思,oracle,plsql,dynamic-sql,Oracle,Plsql,Dynamic Sql,这里的:1是什么意思?它是一个占位符,用于您将要使用的参数值 例如: vsql='select ename into y from emp where empno=:1' 很可能是一个参数占位符。取决于这是在哪里写的,用什么语言看你的示例代码是不正确的。PL/SQL中的赋值运算符是:=而不是=-您确定这是针对Oracle的吗? SQL> set serveroutput on SQL> declare 2 l_empno number := 7902; 3 v_

这里的
:1
是什么意思?

它是一个占位符,用于您将要使用的参数值

例如:

vsql='select ename into y from emp where empno=:1'

很可能是一个参数占位符。取决于这是在哪里写的,用什么语言看你的示例代码是不正确的。PL/SQL中的赋值运算符是
:=
而不是
=
-您确定这是针对Oracle的吗?
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>