下面的正确答案是什么?我原本以为EXECUTE权限就足够了?谢谢!
该数据库有一个名为Customersown 的表UserA和另一个名为Ordersown的表UserB.你也有一个存储过程GetCustomerOrderInfo所拥有UserB.GetCustomerOrderInfo从两个表中选择数据.您创建一个新用户UserC.您需要确保UserC可以调用GetCustomerOrderInfo存储过程.您还需要仅分配所需的最低权限UserC
我有一个数据库表'Reports'.此表中的每列都是类型bit.因此,如果值为1(即为真)则需要报告.
我有一个存储过程,用于填充临时表,其中所有报告都标记为true.
做这个的最好方式是什么?我的CASE语句只返回第一个TRUE值,当我想要的是报告为TRUE的所有情况.
谢谢!
DECLARE @RequiredReports as table
(
Report nvarchar(150)
)
INSERT INTO @RequiredReports
(
Report
)
SELECT
CASE
WHEN r.ReportCountry = 1 THEN 'Country Report'
WHEN r.ReportPerson = 1 THEN 'Person Report'
WHEN r.ReportProfession = 1 THEN 'Profession Report'
WHEN r.ReportAge = 1 THEN 'Age Report'
END
FROM dbo.Reports r
Run Code Online (Sandbox Code Playgroud)