先创建一个表people
create table people(pid primary key)
organization index
as
select rownum from all_objects
where rownum<=10000;
创建一个过程如下: 这个过程可以创建成功
create or replace procedure binding is
c number;
p number;
x number;
x1 number;
begin
for i in 1..10000 loop
c:=dbms_sql.open_cursor;
dbms_sql.parse(c,
'select pid from people'||
'where pid=:b1',dbms_sql.native);
dbms_sql.bind_variable(c,':b1',i);
x:=dbms_sql.execute(c);
x1:=dbms_sql.fetch_rows(c);
dbms_sql.close_cursor(c);
end loop;
end;
但我运行的时候 出现如下的错误:
SQL> exec binding;
BEGIN binding; END;*
第 1 行出现错误:
ORA-00933: SQL 命令未正确结束
ORA-06512: 在 "SYS.DBMS_SYS_SQL", line 906
ORA-06512: 在 "SYS.DBMS_SQL", line 39
ORA-06512: 在 "SCOTT.BINDING", line 9
ORA-06512: 在 line 1
这是为什么啊 请各位帮忙下;
create table people(pid primary key)
organization index
as
select rownum from all_objects
where rownum<=10000;
创建一个过程如下: 这个过程可以创建成功
create or replace procedure binding is
c number;
p number;
x number;
x1 number;
begin
for i in 1..10000 loop
c:=dbms_sql.open_cursor;
dbms_sql.parse(c,
'select pid from people'||
'where pid=:b1',dbms_sql.native);
dbms_sql.bind_variable(c,':b1',i);
x:=dbms_sql.execute(c);
x1:=dbms_sql.fetch_rows(c);
dbms_sql.close_cursor(c);
end loop;
end;
但我运行的时候 出现如下的错误:
SQL> exec binding;
BEGIN binding; END;*
第 1 行出现错误:
ORA-00933: SQL 命令未正确结束
ORA-06512: 在 "SYS.DBMS_SYS_SQL", line 906
ORA-06512: 在 "SYS.DBMS_SQL", line 39
ORA-06512: 在 "SCOTT.BINDING", line 9
ORA-06512: 在 line 1
这是为什么啊 请各位帮忙下;
解决方案 »
- 有分布式数据库实践经验证的朋友,可以分享一下经验吗?
- oracle登陆问题
- Oracle.DataAccess.Client.OracleException ORA-06550: 第 1 行, 第 7 列: PLS-00103: 出现符号 "{"在需要下列之一时: 错误是什么原因?
- 这是SQL的错误么?
- 求助高手,一个关于执行存储过程的小问题.在线等.谢谢了
- 端口问题
- 请问结果集?
- oracle8i如何实现双机热备份?
- 请大家解释一下:回滚段
- SQL去重问题
- ORACLE 8 如何恢复已删除的表
- Red Hat enterprise server release 5 (Tikanga)端口如何改?
'where pid=:b1',dbms_sql.native); 表名people和where关键字之间少了空格其实也没有必要使用||连接,直接写好了:
dbms_sql.parse(c,
'select pid from people where pid=:b1',
dbms_sql.native);