簡體   English   中英

為什么我在MySQL中的程序無法正常工作

[英]Why isn't my procedure in MySQL working

因此,我用MySQL編寫了此過程,誰能告訴我為什么它不起作用?

create procedure add_Order(
    IN custid int,
    IN productid int,
    IN storeid int,
    IN  empid int,
    IN quantity int,
    IN R_payment char(10),
    IN date date)
begin
    insert into Orders(custid, empid, storeid, orderdate) values (IN_cust, IN_empid, IN_storeid, IN_date);
    insert into Order_Product(orderid, productid, quantity, RegisterPayment) values (IN_orderid, IN_productid, IN_quantity, IN_R_payment);
end

這是錯誤消息:

You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near 'end' at line 1
DROP PROCEDURE IF EXISTS `add_Order`;
DELIMITER $$
CREATE PROCEDURE `add_Order`(
    IN custid int,
    IN productid int,
    IN storeid int,
    IN  empid int,
    IN quantity int,
    IN R_payment char(10),IN date date
)
BEGIN
    INSERT INTO Orders(custid, empid, storeid, orderdate) values (IN_cust,IN_empid, IN_storeid, IN_date);
    INSERT INTO Order_Product(orderid, productid, quantity, RegisterPayment) values (IN_orderid, IN_productid, IN_quantity, IN_R_payment);
END
$$

DELIMITER ;

參考: https : //dev.mysql.com/doc/connector-net/en/connector-net-tutorials-stored-procedures.html

您也可以使用此工具: http : //tools.knowledgewalls.com/mysqlcreateprocedure

祝好運!

使用DELIMITER //

DELIMITER $$
DROP PROCEDURE IF EXISTS `add_Order` $$
    create procedure add_Order(IN custid int, IN productid int, IN storeid int, IN 
    empid int, IN quantity int,
    IN R_payment char(10), IN date date)
    begin
    insert into Orders(custid, empid, storeid, orderdate) values (IN_cust, 
    IN_empid, IN_storeid, IN_date);
    insert into Order_Product(orderid, productid, quantity, RegisterPayment) 
    values (IN_orderid, IN_productid, IN_quantity, IN_R_payment);
    end $$
DELIMITER ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM