我在Database1
中有tableA
,它有一列Genre
(仅电影类型3)
在我的存储过程中,我想以某种方式执行case或if语句,其中它在database1.tableA
中检查列Genre
,并执行以下逻辑。。
if genre is horror then
set @newvariable = 1
if genre is comedy then
set @newvarable = 2
if genre is animated then
set @newvarible = 3
有什么建议吗?
您可以使用case语句来获得您想要的
SELECT
newvalue = CASE WHEN genre = 'horror' THEN 1
WHEN genre = 'comedy' THEN 2
WHEN genre = 'animated' THEN 3
END
FROM
tableA
这将为您带来所需的价值。
更新
AS OP需要存储过程
CREATE PROCEDURE [dbo].[spnamehere]
@gameId INT
AS
BEGIN
SET NOCOUNT ON;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT
NewValue = CASE WHEN genre = 'horror' THEN 1
WHEN genre = 'comedy' THEN 2
WHEN genre = 'animated' THEN 3
END
FROM
tablename
WHERE
gameId = @gameId
END