Mysql 如何使用insert创建存储过程?
我在MySQL中创建了下一个表:Mysql 如何使用insert创建存储过程?,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,我在MySQL中创建了下一个表: CREATE TABLE Compras( Compra INT NOT NULL, Proveedor INT NOT NULL, FormaDePago varchar(10), Saldo DECIMAL(15, 3), Fecha_Compra DATE
CREATE TABLE Compras(
Compra INT NOT NULL,
Proveedor INT NOT NULL,
FormaDePago varchar(10),
Saldo DECIMAL(15, 3),
Fecha_Compra DATE NOT NULL,
Condicion_Compra VARCHAR(10) NOT NULL,
Deposito INT NOT NULL,
PRIMARY KEY (Compra)
)ENGINE=MYISAM;
尝试创建下一个存储过程时出错:
CREATE PROCEDURE comprarx(IN pk INT,
IN proveedor INT,
IN pago varchar(10),
IN saldo decimal(15,3),
IN fecha DATE,
IN condicion_compra varchar(10),
IN deposito INT)
BEGIN
INSERT INTO Compras
VALUES(pk, proveedor, pago, saldo, fecha, condicion_compra, deposito );
END
我不知道我的错误是什么。除了
分隔符之外,我看不到您的代码中有任何错误。试试这个
DELIMITER $$
CREATE PROCEDURE comprar(IN pk INT,
IN proveedor INT,
IN pago varchar(20),
IN saldo INT,
IN fecha DATE,
IN condicion_compra varchar(10),
IN deposito INT)
BEGIN
INSERT INTO Compras
VALUES(pk, proveedor, pago, saldo, fecha, condicion_compra, deposito );
END $$
DELIMITER ;
您的存储过程输入参数的数据类型与表中的列不同。@sgedes不,不是这样的:PI更正了它,但我仍然有错误