我有一个用户视图,我们称之为[MIKE].Table
过滤选择
SELECT * FROM TABLE WHERE TL_FILTERKEY in (1,2,3)
所以,如果 Mike 连接到服务器并执行
"SELECT * FROM TABLE"
他只会看到表格中的部分数据。
还有一个具有 dbo 权限的程序,并允许 Mike 执行为
CREATE PROCEDURE tbSelect
as
SELECT * FROM TABLE
如果 Mike 执行exec tbSelect
,他将看到 Table 中的所有行,但未过滤。
如何编写程序以便从用户视图(过滤行)中选择数据?
我尝试重新创建过程'WITH EXECUTE AS'Mike''和'WITH EXECUTE AS CALLER',但是所有行都返回了。