Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Oracle Developer 6i中创建序列_Oracle_Plsql_Oracleforms - Fatal编程技术网

如何在Oracle Developer 6i中创建序列

如何在Oracle Developer 6i中创建序列,oracle,plsql,oracleforms,Oracle,Plsql,Oracleforms,我试图为一个小桌子制作一个简单的界面。我正在尝试使它自动生成。表的创建过程如下所示: create table Buyer_Entery_Table ( serial_number number(6) not null customers_seq, good_name varchar2(300), employee_name varchar2(400), Quantity number(6), value number(10), entry_number number(6), outer_

我试图为一个小桌子制作一个简单的界面。我正在尝试使它自动生成。表的创建过程如下所示:

create table Buyer_Entery_Table 
(
serial_number number(6) not null  customers_seq,
good_name varchar2(300),
employee_name  varchar2(400),
Quantity number(6),
value number(10),
entry_number number(6),
outer_number number(6),
today date, 
department_name varchar2(300),
notes varchar2(400) 
);
我创建了一个序列以及以下内容:

 CREATE SEQUENCE customers_seq
 START WITH     1
 INCREMENT BY   1
 NOCACHE
 NOCYCLE;
在表单生成器中,我在块级别添加了一个触发器。触发器是预插入的。 我使用了以下代码:

declare
 v_no number;
  Begin
    select customers_seq.nextval into v_no from Dual;
        :Buyer_Entery_table.serial_number := v_no;
  end;
我试着去编译。我有以下错误

ORA-00600:内部错误代码,参数:[17069],[101534824],[],[],[],[],[],[],[],[],[],[]


你知道我犯了什么错误吗?

这可能是因为表单6i中的错误。你需要解决它

请连接到metalink.oracle.com并转到修补程序部分下载修补程序17并安装

如果您没有metalink帐户,则可以创建metalink帐户

在注册时使用metalink,并用软件许可证的数据填写表格

有关更多信息,请参阅

问题在于,在oracle窗体中使用dual作为一种变通方法,您可以尝试在数据库中创建plsql过程

create or replace procedure pr_increment_sequence(p_increment OUT NUMBER) is
begin
select customers_seq.nextval into p_increment from Dual;
end pr_increment_sequence;
以及以下Oracle表单中的代码

 declare
 v_no number;
 Begin
 pr_increment_sequence(v_no);
    :Buyer_Entery_table.serial_number := v_no;
 end;

只需创建一个具有伪列名的表dual。。 插入一些值就是这样你的工作完成了 语法 创建表dual(虚拟varchar2(10));
插入双('a')

让你的标签合适,读一下这个