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中文网其他相关文章!