第一次海报! :D包含多个IfEse Select语句的存储过程
我一直在寻找这个无处不在的答案,并且我认为它应该是这么简单,我无法在任何地方找到直接答案。我试图创建一个存储过程,将存储多个可能为数百个select语句的存储过程......在给出@Look
参数(即表名称)后,其中只有一个实际上最终会运行。
不过,我不断收到此错误:
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
错误指向到Else If
和Else
语句。我如何将exists
引入这些陈述?我试过调整它们无济于事。
下面是一个示例数据库我的脚本:
CREATE PROCEDURE [dbo].[sp_Look]
(@Look varchar(50))
AS
DECLARE @Lookup VARCHAR(500)
IF (@Look = 'Employee_Information')
SET @Lookup = (SELECT EmployeeId, EmployeeSSN, EmployeeStatus
FROM Employee_Information)
Else If (@Look = 'Employee_Demographic')
SET @Lookup = (SELECT LastName, FirstName, DateOfBirth
FROM Employee_Demographic)
Else
SET @Lookup = 'No Table'
SELECT @Lookup
什么让你觉得有SP逻辑,而它可以很容易地处理成您商务 – user7417866
层[是在以sp_前缀还是一个禁忌? - 亚伦伯特兰](https://sqlperformance.com/2012/10/t-sql-queries/sp_prefix) – SqlZim
我是老实说,相当新的SQL,这是一个小项目,我正在努力,所以我不完全确定您所指的是由业务层处理的内容? – Mesanic