Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
Mysql 如何使用insert创建存储过程?_Mysql_Sql_Stored Procedures - Fatal编程技术网

Mysql 如何使用insert创建存储过程?

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

我在MySQL中创建了下一个表:

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更正了它,但我仍然有错误