我应该如何使用 sql server 中的存储过程将列名存储在变量中?
Posted
技术标签:
【中文标题】我应该如何使用 sql server 中的存储过程将列名存储在变量中?【英文标题】:How should I store the column names in a variable using stored procedure in sql server? 【发布时间】:2016-06-16 19:14:03 【问题描述】:我有表emp
有列id
、name
、dept
,这些列将使用存储过程存储在变量中。
【问题讨论】:
【参考方案1】:您是在问如何将它们作为参数 (TVP) 传递,还是在问如何在存储过程中创建临时表以协助查询?
这是创建存储过程的一般格式: https://msdn.microsoft.com/en-us/library/ms345415.aspx
就在示例中。在这种情况下,名字和姓氏是参数。
CREATE PROCEDURE HumanResources.uspGetEmployeesTest2
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
【讨论】:
作为参数@HelluvaEngineer【参考方案2】:方法对吗??
创建过程 get_columns 作为
声明 @e_id int , @e_name nvarchar(20) , @d_id int 开始 SET @e_id =(从 Dim_Employee 中选择 Emp_ID,其中 Emp_Name='Cathy') SET @e_name =(从 Dim_Employee 中选择 Emp_Name,其中 emp_id=101) SET @d_id =(select Dept_ID from Dim_Employee where emp_name='Cathy')
结束 去
【讨论】:
以上是关于我应该如何使用 sql server 中的存储过程将列名存储在变量中?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 SQL Server 存储过程中的 3 列中获取 MAX 值?
如何比较两个表的列并将值插入到基于 SQL Server 中存储过程中的比较的新表中
如何使用 SQL Server 中的存储过程在单个查询中插入多行