簡體   English   中英

如何創建 SQL 過程以從動態表中選擇動態列

[英]How to create SQL procedure to select dynamic column from dynamic table where dynamic table

我需要創建程序來從動態數據中選擇動態列,其中動態值

Craete procedure SelectColumn
@tableName NVARCHAR(MAX),
@id int,
@ColumnName NVARCHAR(MAX)

as
begin
DECLARE @SQLString1 NVARCHAR(MAX)
SET @SQLString1= 'Select '+ @ColumnName + ' From ' + @TableName +' where id= '+@id
    print @SQLString1
    EXEC (@SQLString1)
end

執行時顯示此錯誤

將 nvarchar 值“Select Email From Member where id=”轉換為數據類型 int 時轉換失敗。

when delete where id= '+@id and set 'where id=1'過程成功,但我需要使用where id=@id

試試這個CAST(@id AS VARCHAR)

SET @SQLString1= 'Select '+ @ColumnName + ' From ' + @TableName +' where id= '+CAST(@id AS VARCHAR)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM