【问题标题】:How To create Sequence in Oracle Developer 6i如何在 Oracle Developer 6i 中创建序列
【发布时间】:2015-02-21 08:04:56
【问题描述】:

我正在尝试为一张小桌子制作一个简单的界面。我正在尝试使其自动生成。表的创建如下:

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]、[]、[]、[]、[]、[]、[]

知道我犯了什么错误吗?

【问题讨论】:

标签: oracle plsql oracleforms


【解决方案1】:

这可能是由于表单 6i 中的错误。您需要Patch 17 来解决它。

请连接到 metalink.oracle.com 并转到补丁部分下载补丁 17 link here 并安装它。

如果您没有metalink 帐户,您可以创建一个metalink 帐户。

在注册时进入metalink并用您的软件许可证数据填写表格

更多信息请参考this thread

问题是在 oracle 表单中使用双重作为一种解决方法,您可以尝试在数据库中创建一个 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;

【讨论】:

    【解决方案2】:

    只需创建一个具有虚拟列名的表对偶.. 并插入一些值就是这样..你的工作完成了 句法 创建表对偶(虚拟varchar2(10)); 插入对偶('a');

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      相关资源
      最近更新 更多