oracle pls-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3976864
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2007-02-08 17:10:53

errors ref: oracle 10.2 document
pls-00357: table,view or sequence reference 'string' not allowed in this context
    cause: a reference to database table, view, or sequence was found in an inappropriate context. such references can appear only in sql statements or (excluding sequences) in %type and %rowtype declarations. some valid examples follow: select ename, emp.deptno, dname into my_ename, my_deptno, my_dept .from emp, dept where emp.deptno = dept.deptno; declare last_name emp.ename%type; dept_rec dept%rowtype;
    action: remove or relocate the illegal reference.

begin
  for i in 1 .. 984 loop
    execute immediate 'insert into osm_dml_3sp.osm_tab_sequence(col_0) values(:1)'
       using osm_dml_3sp.osm_tab_sequenceseq9.nextval;
  end loop;
  insert into osm_dml_3sp.osm_tab_sequence(col_0)
        values(osm_dml_3sp.osm_tab_sequenceseq9.currval-45);
end;
/

sql> @/tmp/a
       using osm_dml_3sp.osm_tab_sequenceseq9.nextval;
                                              *
error at line 4:
ora-06550: line 4, column 47:
pls-00357: table,view or sequence reference
'osm_dml_3sp.osm_tab_sequenceseq9.nextval' not allowed in this context
ora-06550: line 3, column 5:
pl/sql: statement ignored

error use:
t := osm_dml_3sp.osm_tab_sequenceseq9.nextval;

correct use:
select osm_dml_3sp.osm_tab_sequenceseq9.nextval into t from dual;

>>>---
declare
  t number;
begin
  for i in 1 .. 984 loop
    select osm_dml_3sp.osm_tab_sequenceseq9.nextval into t from dual;
    execute immediate 'insert into osm_dml_3sp.osm_tab_sequence(col_0) values(:1)'
       using t;
  end loop;
  insert into osm_dml_3sp.osm_tab_sequence(col_0)
        values(osm_dml_3sp.osm_tab_sequenceseq9.currval-45);
end;

记得函数中有commit, rollback时也不可以直接用的, 真要好好注意, 感觉使用起来很怪!
function 中含有commit, rollback 出错的情况请看:
阅读(4004) | 评论(0) | 转发(0) |
0

上一篇:坐庄

下一篇:oracle pl/sql设计的真是奇怪

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图