0
存儲過程中我有一個連接的SQL語句。這包括選擇部分中的大型表達式。實際上當執行立即命令運行時,一切正常。現在我想通過將這個大型表達式包裝在一個函數中來使該語句更易於閱讀,但無論我嘗試失敗。是否有可能在動態SQL中調用函數?在動態SQL語句中使用函數調用
存儲過程中我有一個連接的SQL語句。這包括選擇部分中的大型表達式。實際上當執行立即命令運行時,一切正常。現在我想通過將這個大型表達式包裝在一個函數中來使該語句更易於閱讀,但無論我嘗試失敗。是否有可能在動態SQL中調用函數?在動態SQL語句中使用函數調用
如果你正在使用12C和你只使用這個功能,你可以使用PL/SQL聲明部分中您的SQL語句
Declare
myvariable number;
Begin
EXECUTE IMMEDIATE'
WITH
FUNCTION with_function(p_id IN NUMBER) RETURN NUMBER IS
BEGIN
RETURN p_id * p_id - p_id;
END;
SELECT with_function(3)
FROM dual
WHERE rownum = 1' into myvariable;
dbms_output.put_line('myvariable: '||myvariable);
End;
完美,這個作品 – user
標籤使用的DBMS的這條SQL語句。 – jarlh
是的,它是但沒有代碼或錯誤不能真的幫助 – kevinsky
使用'dbms_output.put_line'來檢查你的動態sql並運行它在一個單獨的塊,以查看你得到什麼錯誤,以及如何解決它們。 –