【发布时间】:2023-03-10 20:30:02
【问题描述】:
我正在尝试编写一个基于两个输入参数返回特定值的存储过程。问题是试图使其中一个参数引用一列。
这是我的桌子:
CityID CityName London Paris
----------- -------------------- --------------------------------------- --
1 London 0 60
2 Paris 50 0
3 Berlin 90 60
4 Madrid 150 90
5 Dublin 30 80
6 Rome 75 88
是否可以按照以下方式编写存储过程:
CREATE PROCEDURE Price (@city1, @city2)
AS
SELECT @city2
FROM dbo.MyTable
WHERE CityName = @city1
【问题讨论】:
-
你描述的是动态SQL。您想传入列的名称,然后返回匹配城市的该列的值。对吗?
-
是的,完全正确。恐怕我对 Dynamic Sql 不熟悉。
-
如果不了解您使用的 RDBMS,则无法准确回答此问题。看起来像 MS SQL 但请与版本一起确认。
-
是的,它的 MS SQL。我正在使用 SQL Server 2016。
标签: sql database stored-procedures sql-server-2016