簡體   English   中英

創建存儲過程時出錯

[英]Error in creating a stored procedure

我試圖通過連接兩個表(客戶和查詢表)來檢索值,然后我試圖將檢索到的值存儲到另一個表中,這個表會因為與此無關的原因而派上用場。然后我終於刪除了從查詢表中檢索的值。 當我嘗試執行存儲過程時,我收到以下屏幕截圖中顯示的以下錯誤。 MySQL錯誤

我該如何解決這個錯誤?

存儲過程: -

CREATE PROCEDURE `backup_eq`(
    IN `eq` VARCHAR(15), IN `mail` VARCHAR(30), IN `dates` DATE, IN `cmp` VARCHAR(10), IN `rea` VARCHAR(50)) 
NOT DETERMINISTIC MODIFIES SQL DATA SQL SECURITY DEFINER 
BEGIN 
SELECT eqno into @eno,Date1 into @d,cmpname into @c,subject into @s,cid into @cd 
FROM `enquiry` NATURAL JOIN `customer` 
WHERE eqno=eq and email=mail and cmpname=cmp and Date=dates; 
INSERT INTO `enquiryBin`(`Eqno`, `Date1`, `Cmpname`, `Subject`, `CID`, `Reason`) 
VALUES (@eno,@d,@c,@s,@cd,rea); 
DELETE FROM `enquiry` 
WHERE eqno=eq and cid=@cd and cmpname=cmp and Date1=dates; 
END

下面給出了兩個表的create table語句

CREATE TABLE `customer` (
  `CID` int(15) NOT NULL,
  `Address` varchar(100) NOT NULL,
  `Name` varchar(20) NOT NULL,
  `email` varchar(30) NOT NULL,
  `phone` bigint(20) NOT NULL
)
ALTER TABLE `customer`
  ADD PRIMARY KEY (`CID`);

  CREATE TABLE `enquiry` (
  `Eqno` varchar(15) NOT NULL,
  `Date1` date NOT NULL,
  `Cmpname` varchar(10) NOT NULL,
  `Subject` varchar(100) NOT NULL,
  `CID` int(15) NOT NULL
)

  ALTER TABLE `enquiry`
  ADD PRIMARY KEY (`Eqno`,`Cmpname`,`CID`,`Date1`)
SELECT eqno into @eno,Date1 into @d,cmpname into @c,subject into @s,cid into @cd

應該

SELECT eqno, Date1, cmpname, subject, cid INTO @eno, @d, @c, @s, @cd

也就是說,將選擇列表中的所有列分別命名為INTO子句。

請參閱語法文檔: https//dev.mysql.com/doc/refman/5.7/en/select-into.html

不需要所有這些變量,只需使用INSERT INTO ... SELECT查詢和DELETE查詢中的JOIN

INSERT INTO enquiryBin (`Eqno`, `Date1`, `Cmpname`, `Subject`, `CID`, `Reason`)
SELECT eqno, Date1, cmpname, subject, cid, rea
FROM FROM `enquiry` NATURAL JOIN `customer` 
WHERE eqno=eq and email=mail and cmpname=cmp and Date1 = dates; 

DELETE e FROM enquiry AS e
NATURAL JOIN customer 
WHERE eqno = eq AND email = mail AND cmpname = cmp AND Date1 = dates

暫無
暫無

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

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