-1
是否可以在另一個程序中動態地傳遞程序的名稱?動態傳遞程序名
過程名稱存儲在一個表中,並根據標準名稱會有所不同。
如果可能我該如何實現這一目標?
到目前爲止,我有這樣的事情:
SET $proc = CONCAT('CALL ',$queryString);
PREPARE stmt FROM CONCAT('CALL ', $queryString);
EXECUTE stmt;
是否可以在另一個程序中動態地傳遞程序的名稱?動態傳遞程序名
過程名稱存儲在一個表中,並根據標準名稱會有所不同。
如果可能我該如何實現這一目標?
到目前爲止,我有這樣的事情:
SET $proc = CONCAT('CALL ',$queryString);
PREPARE stmt FROM CONCAT('CALL ', $queryString);
EXECUTE stmt;
八九不離十,只是用正確的準備語句的語法:
create procedure sp_exec_proc(
in_proc char(64)
)
begin
set @proc = concat('CALL ',in_proc);
prepare stmt from @proc;
execute stmt;
end
然後,您可以通過在程序名稱和可選參數
call sp_exec_proc('sp_my_proc("ABC")')
'PREPARE stmt FROM $ proc;'然後'EXECUTE stmt;'應該這樣做,因爲已經使用SQL語句設置了$ proc (你的程序CALL)。 – JNevill
你的代碼有什麼問題? – Barmar