Re: [SQL ] MYSQL中使用stored procedure 傳入一連 …

看板Database作者 (什麼東西什麼東西)時間15年前 (2010/09/30 18:05), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《OpenGoodHate (什麼東西什麼東西)》之銘言: : stored procedure 做的事很簡單 : 就只有 : SELECT * FROM aTab WHERE aaa IN (傳入值); : 傳入值是123,456,789 : 但是這樣寫SP沒辦法運作 : 如果是這樣的話該如何處理這樣的問題呢 感謝各位解答 我PO一下我的做法 DELIMITER $$ DROP PROCEDURE IF EXISTS `atest` $$ CREATE DEFINER=`root`@`%` PROCEDURE `atest`( IN `_U` nvarchar(4000) ,OUT `_RTN` INTEGER ) BEGIN set @SQL = CONCAT('SELECT * FROM aTab where aaa IN ( ',_U,' );'); PREPARE _data FROM @SQL; EXECUTE _data; DROP PREPARE _data; SET _RTN = 1; END $$ DELIMITER ; 基本上就把所有的SQL語法先轉成字串 再和外部傳進來的數值串接後執行即可 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.248.166.173 ※ 編輯: OpenGoodHate 來自: 60.248.166.173 (09/30 18:06)
文章代碼(AID): #1Cf63v9U (Database)