我们有两个表:客户和客户创建表客户端(NumClient NUMBER(3)NOT NULL PRIMARY KEY,ClientName VARCHAR(25)NOT NULL,城市VARCHAR(25)非空);
CREATE TABLE Compte(NumCompte NUMBER(1)NOT NULL PRIMARY KEY,NumClient NUMBER(3)非空引用Client(NumClient),DateOpening DATE NOT NULL,余额浮动PMVR NUMBER DEFAULT 0);
我的过程如下:
OpenAccount(数量为数字,数量为数字)此过程为客户(NumCli)创建了一个具有第一笔余额(金额)的新帐户:
-NumCaccount由序列自动分配;
-DateOpen是系统日期;
-金额> 0;
-PMVR初始化为0;
-如果客户不存在,则错误。
我有一个称为:的序列]
CREATE SEQUENCE seqClient START WITH 101 INCREMENT BY 1; CREATE SEQUENCE seqAccount START WITH 1 INCREMENT BY 1; CREATE OR REPLACE PROCEDURE OpenAccount(NumCli IN NUMBER, Amount in NUMBER) IS non-existent_client EXCEPTION; PRAGMA EXCEPTION_INIT (non-existent_client, -2291); BEGIN IF (Amount < 0) THEN RAISE_APPLICATION_ERROR (-20002,'the amount must be greater than 0'); ELSE INSERT INTO Account (AccountNumber, ClientNumber, DateOpening date, Balance, PMVR) VALUES (seqCount.NEXTVAL, NumCli, TO_DATE (sysdate,'DD.MM.YY'), Amount, 0); END IF; EXCEPTION WHEN non-existent_customer THEN DBMS_OUTPUT.PUT_LINE ( Client No' ||| TO_CHAR (NumCli) ||| ' non-existent'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ( Oracle error:' |||| SQLCODE ||| '; Oracle message: ||||| SQLERRM); END; execute OpenAccount(101,1600); Translated with www.DeepL.com/Translator (free version)
我收到此错误:
9/9 PL / SQL:忽略了SQL语句10/81 PL / SQL:ORA-00984:此处不允许使用该列
我们有两个表:Account和Client CREATE TABLE Client(NumClient NUMBER(3)NOT NULL PRIMARY KEY,ClientName VARCHAR(25)NOT NULL,City VARCHAR(25)...