DECLARE @SQL AS VARCHAR(2000),@EncodeID AS VARCHAR(2000) BEGIN SET @SQL='SELECT * FROM @EncodeID=(SELECT TableName FROM dbo.CAccountingProjectType WHERE id=1)' exec(@SQL) END 如何修改
DECLARE @SQL AS NVARCHAR(2000),@EncodeID AS VARCHAR(2000) SET @EncodeID='' BEGIN SET @SQL='SELECT * FROM @EncodeID=(SELECT TableName FROM dbo.CAccountingProjectType WHERE id=1)' EXEC sp_executesql @SQL,N'@EncodeID varchar(2000) output',@EncodeID OUTPUT END 使用sp_executesql ,注意 @SQL 一定要为 NVarchar 类型, 在 参数前面 要加 N
DECLARE @SQL AS VARCHAR(2000),@EncodeID AS VARCHAR(2000) BEGIN SET @SQL='SELECT '+@EncodeID+'= TableName FROM dbo.CAccountingProjectType WHERE id=1 ' exec(@SQL) set @sql = 'select * from '+@encodeidexec(@SQL) END
DECLARE @SQL AS VARCHAR(2000),@EncodeID AS VARCHAR(2000) BEGINselect @EncodeID=TableName FROM dbo.CAccountingProjectType WHERE id=1SET @SQL='SELECT * FROM ' + @EncodeIDexec(@SQL)END
SELECT TableName FROM dbo.CAccountingProjectType WHERE id=1 得出表名 再根据表名取这表的数据 SQL 楼上2位都没得
--上面的错啦 DECLARE @SQL AS VARCHAR(2000),@EncodeID AS VARCHAR(2000) BEGIN select @EncodeID = TableName FROM dbo.CAccountingProjectType WHERE id=1set @sql = 'select * from '+@encodeidexec(@SQL) END
DECLARE @SQL AS NVARCHAR(2000),@EncodeID AS VARCHAR(2000)
SET @EncodeID=''
BEGIN
SET @SQL='SELECT * FROM @EncodeID=(SELECT TableName FROM dbo.CAccountingProjectType WHERE id=1)'
EXEC sp_executesql @SQL,N'@EncodeID varchar(2000) output',@EncodeID OUTPUT
END
使用sp_executesql ,注意 @SQL 一定要为 NVarchar 类型,
在 参数前面 要加 N
BEGIN
SET @SQL='SELECT '+@EncodeID+'= TableName FROM dbo.CAccountingProjectType WHERE id=1
'
exec(@SQL)
set @sql = 'select * from '+@encodeidexec(@SQL)
END
BEGINselect @EncodeID=TableName FROM dbo.CAccountingProjectType WHERE id=1SET @SQL='SELECT * FROM ' + @EncodeIDexec(@SQL)END
得出表名
再根据表名取这表的数据
SQL
楼上2位都没得
--上面的错啦
DECLARE @SQL AS VARCHAR(2000),@EncodeID AS VARCHAR(2000)
BEGIN
select @EncodeID = TableName FROM dbo.CAccountingProjectType WHERE id=1set @sql = 'select * from '+@encodeidexec(@SQL)
END