2017-03-04 1 views
0

複数のInsertクエリをシングルプロシージャで記述する方法はありますか?複数のInsertクエリを単一のプロシージャで記述する方法は?

CREATE DEFINER=`root`@`localhost` PROCEDURE `Proc_Insert`(IN `newt` VARCHAR(500), IN `news` TEXT, IN `status` VARCHAR(500), IN `ntype` VARCHAR(500), IN `img_file` VARCHAR(1500), IN `vlink` VARCHAR(500)) 
INSERT INTO tbl_news(newt, news, status, ntype) VALUES (newt,news,status,ntype); 
SET LID = LAST_INSERT_ID(); 
INSERT INTO tbl_img(pic, cid, imgfile, imgtype, imgstatus) VALUES (LID,LID,img_file,ntype,status); 
INSERT INTO tbl_video(cid, vlink, vdis, vstatus) VALUES (LID,v_link,news,status); 

このストアドプロシージャを初めて使用しています。

+0

何? mysqlまたはsql-server? – Hadi

+0

それは明らかにSQL Serverではありません。 – shawnt00

+0

私は自分のMySQLを使用しています。 –

答えて

0

あなたはbeginendで文を囲み、そしてあなたが望むことをすべての文を追加する必要があります。あなたのDBMSである

DELIMITER $$ 
CREATE PROCEDURE `Proc_Insert`(IN `newt` VARCHAR(500), IN `news` TEXT, IN `status` VARCHAR(500), IN `ntype` VARCHAR(500), IN `img_file` VARCHAR(1500), IN `vlink` VARCHAR(500)) 
BEGIN 
    DECLARE LID INT; 

    INSERT INTO tbl_news(newt, news, status, ntype) VALUES (newt,news,status,ntype); 
    SET LID = LAST_INSERT_ID(); 
    INSERT INTO tbl_img(pic, cid, imgfile, imgtype, imgstatus) VALUES (LID,LID,img_file,ntype,status); 
    INSERT INTO tbl_video(cid, vlink, vdis, vstatus) VALUES (LID,v_link,news,status); 
END$$ 
+0

私は試してみましたがエラー... –

+0

何がエラーですか?作成時間。 –

関連する問題