SQL 中視圖中的參數傳遞
與預存程序不同,SQL Server 中的視圖不允許直接參數傳遞。當需要根據使用者定義的條件過濾資料時,這可能是一個限制。
此問題的一種嘗試解決方案是建立具有參數的視圖,如下所示:
create or replace view v_emp(eno number) as select * from emp where emp_id=&eno;
但是,這在 SQL Server 中不起作用。
替代解決方案:儲存函數
將參數傳遞給類似視圖的功能的另一種方法是建立一個儲存函數。儲存函數可以使用輸入參數進行定義,並且可以傳回一個表格作為其結果集。
以下是可以充當參數化視圖的儲存函數的範例:
CREATE FUNCTION v_emp (@pintEno INT) RETURNS TABLE AS RETURN SELECT * FROM emp WHERE emp_id=@pintEno;
This儲存函數採用 @pintEno 整數參數並傳回一個包含與該 ID 相符的員工的表。
要使用儲存函數,您可以像呼叫它一樣呼叫它view:
SELECT * FROM v_emp(10)
這將傳回 emp_id 為 10 的所有員工。
以上是如何向 SQL Server 中的視圖傳遞參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!