【发布时间】:2019-05-20 11:17:45
【问题描述】:
错误出现在表客户端的插入并且仅在我的计算机中,因为如果它设法加载它,请与其他人一起测试。使用 sqldeveloper 18.2 和 oracle 数据库速成版 11g。
表格:
CREATE TABLE Clientes(
DNI_CIF VARCHAR2(9) NOT NULL CHECK (REGEXP_LIKE(DNI_CIF, '[A-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-Z]')),
Contrasena VARCHAR2(25) NOT NULL,
Telefono NUMBER(9) NOT NULL,
Email VARCHAR2(25) UNIQUE,
TipoCliente VARCHAR2(25),
Nombre VARCHAR2(30) NOT NULL,
FormaPago VARCHAR2(20),
NumeroCuenta VARCHAR2 (24),
CancelacionesIndebidas INT CHECK (CancelacionesIndebidas BETWEEN 0 and 3),
PRIMARY KEY(DNI_CIF),
CONSTRAINT Clientes_chk1 CHECK (TipoCliente IN ('Particular', 'Empresa', 'Administracion Publica'))
);
程序:
PROCEDURE insert_clientes(w_DNI_CIF clientes.dni_cif%TYPE,w_Contrasena clientes.contrasena%TYPE,w_Telefono clientes.telefono%TYPE,w_Email clientes.email%TYPE,
w_TipoCliente clientes.tipocliente%TYPE,w_Nombre clientes.nombre%TYPE,
w_FormaPago clientes.formapago%TYPE,w_NumeroCuenta clientes.numerocuenta%TYPE,
w_CancelacionesIndebidas clientes.cancelacionesindebidas%TYPE);
CREATE OR REPLACE PACKAGE BODY INSERTS AS
PROCEDURE insert_clientes(w_DNI_CIF clientes.dni_cif%TYPE,w_Contrasena clientes.contrasena%TYPE,w_Telefono clientes.telefono%TYPE,w_Email clientes.email%TYPE,
w_TipoCliente clientes.tipocliente%TYPE,w_Nombre clientes.nombre%TYPE,w_FormaPago clientes.formapago%TYPE,w_NumeroCuenta clientes.numerocuenta%TYPE,
w_CancelacionesIndebidas clientes.cancelacionesindebidas%TYPE)
IS
BEGIN
INSERT INTO Clientes (DNI_CIF,Contrasena,Telefono,Email,TipoCliente,Nombre,FormaPago,NumeroCuenta,CancelacionesIndebidas)
VALUES(w_DNI_CIF,w_Contrasena,w_Telefono,w_Email,w_TipoCliente,w_Nombre,w_FormaPago,w_NumeroCuenta,w_CancelacionesIndebidas);
END insert_clientes;
插入:
INSERTS.insert_clientes('12312389P','12345678',666666666,'una@muno.com','Particular','Miguel de Unamuno','Transferencia','ES7119225879874039280971',0);
【问题讨论】:
标签: oracle stored-procedures plsql sql-insert