假设我想写一个存储的产品
我找到了SELECT的上述链接,但我想做的是UPDATE:
SpUpdate @TableName varchar(50), @ColumnName varchar(50), @Value int, @Condition int
AS
BEGIN
UPDATE @Tablename
SET @ColumnName = @Value
Where PrimaryColName = @Condition
END
我知道上面的代码不会运行。我知道你可以写一个动态代码,但我对动态代码不感兴趣。任何人都可以帮助不同的approch。也许使用case语句或if statemens。
答案 0 :(得分:0)
CREATE PROCEDURE SpUpdate
@TableName SYSNAME
, @ColumnName SYSNAME
, @Value INT
, @Condition INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Sql NVARCHAR(MAX);
SET @Sql = N' UPDATE ' + QUOTENAME(@TableName)
+ N' SET ' + QUOTENAME(@ColumnName) + N' = @Value '
+ N' WHERE PrimaryColName = @Condition '
EXECUTE sp_executesql @Sql
,N'@Value INT, @Condition INT'
,@Value
,@Condition
END