1

我在 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

我不知道我的错误是什么。

4

1 回答 1

3

我在您的代码中看不到任何错误,除了DELIMITER. 尝试这个,

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 ;
于 2013-05-30T00:08:37.877 回答