我在看视频教学时跟着敲了一段过程如下:DECLARE
sql VARCHAR2(100);
id VARCHAR2(10):='0002'
name VARCHAR2(10);
BEGIN
sql:='SELECT pname FROM pd WHERE pid=:1';
execute immediate SQL into USING id;
DBMS_OUTPUT.put_line(name);
END;
输出报了: ORA-06550: 第 3 行, 第 1 列:
PLS-00103: 出现符号 "SQL"在需要下列之一时:
begin function package
pragma procedure subtype type use <an identifier>
<a double-quoted delimited-identifier> form current cursor
符号 "begin在 "SQL" 继续之前已插入。
ORA-06550: 第 4 行, 第 4 列:
PLS-00103: 出现符号 "VARCHAR2"在需要下列之一时:
:= . ( @ % ;
符号 ":=" 被替换为 "VARCHAR2" 后继续。
ORA-06550: 第 4 行, 第 16 列:
PLS-00103: 出现符号 "="在需要下列之一时:
. ( * % & = - + ; < / > at in
is mod not rem <an exponent (**)> <> or != or ~= >= <= <> and
or like between ||
sql VARCHAR2(100);
id VARCHAR2(10):='0002'
name VARCHAR2(10);
BEGIN
sql:='SELECT pname FROM pd WHERE pid=:1';
execute immediate SQL into USING id;
DBMS_OUTPUT.put_line(name);
END;
输出报了: ORA-06550: 第 3 行, 第 1 列:
PLS-00103: 出现符号 "SQL"在需要下列之一时:
begin function package
pragma procedure subtype type use <an identifier>
<a double-quoted delimited-identifier> form current cursor
符号 "begin在 "SQL" 继续之前已插入。
ORA-06550: 第 4 行, 第 4 列:
PLS-00103: 出现符号 "VARCHAR2"在需要下列之一时:
:= . ( @ % ;
符号 ":=" 被替换为 "VARCHAR2" 后继续。
ORA-06550: 第 4 行, 第 16 列:
PLS-00103: 出现符号 "="在需要下列之一时:
. ( * % & = - + ; < / > at in
is mod not rem <an exponent (**)> <> or != or ~= >= <= <> and
or like between ||
解决方案 »
- Oracle 的高手们 强烈解决一下数据库还原的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
- Oracle 查询返回DataSet 数据大量重复
- 关于ORACLE 查询结果区分大小写的问题?
- 高分求教:oracle的初级问题
- 两个版本的oracle 9i,redhat 9应该装哪一个?
- Oracle8i在P4机器上安装的解决方法:复制Delphi7中symcjit.dll覆盖Oracle中的symcjit.dll
- 请问ORACLE 9i支持ADO.NET吗?!
- 何处下载啊
- 我ORACEL老报告LATCH FEE太多?造成CPU使用率居高不下。
- 我刚学Oracle,问一个比较菜的问题
- 关于where a.1 = b.1(+)
- ORA-28003
1前面的冒号要写在等号的前面。
mySQL VARCHAR2(100);
id VARCHAR2(10) := '0002';
NAME VARCHAR2(10);
BEGIN
mySQL:= 'SELECT first_name from employees where employee_id = 1';
EXECUTE IMMEDIATE mySQL INTO id;
DBMS_OUTPUT.PUT_LINE(NAME);
END TestProcedure;
这里改成
execute immediate SQL into name USING id;
DECLARE
sql VARCHAR2(100);
id VARCHAR2(10):='0002'
name VARCHAR2(10);
BEGIN
sql:='SELECT pname FROM pd WHERE pid=:1';
execute immediate SQL name into USING id;
DBMS_OUTPUT.put_line(name);
END;
s VARCHAR2(100);
id VARCHAR2(10):='0002';
name VARCHAR2(10);
BEGIN
s:='SELECT 11 FROM dual';
execute immediate s into name ;
DBMS_OUTPUT.put_line(name);
END;