SQL数据库存储查询操作
表名是不确定的,我这样怎么老说a无效?请问这是怎么回事??希望网友们帮帮忙!!!谢谢!
create proc Proc_TB_TableName_Select
@FingerprintInformation varchar(MAX),--指纹
@TableName varchar(50) --指纹表名
as
begin transaction
declare @Select varchar(50)
set @Select='select FingerprintInformationID,TableNameID from '+@TableName +' where FingerprintInformation=' + @FingerprintInformation
exec(@Select)
waitfor delay '00:00:00';--等待秒
commit transaction
exec Proc_TB_TableName_Select '11','a1' --表名为a1,a2,……
------解决方案--------------------
@Select varchar(50) 定大点试试,我觉得应该是50的限制导致query后面的字段被truncate了
------解决方案--------------------exec(@Select)
改成
print(@Select)
看看输出的SQL是啥?
------解决方案--------------------SQL code
create proc Proc_TB_TableName_Select
@FingerprintInformation varchar(MAX),--指纹
@TableName varchar(50) --指纹表名
as
begin transaction
declare @Select varchar(50)
set @Select='select FingerprintInformationID,TableNameID from ['+@TableName +'] where FingerprintInformation=' + @FingerprintInformation
exec(@Select)
waitfor delay '00:00:00';--等待秒
commit transaction
exec Proc_TB_TableName_Select '11','a1' --表名为a1,a2,……
在FROM 后面用 []将表名 包起来