首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL数据库存储查询操作解决方法

2012-04-18 
SQL数据库存储查询操作表名是不确定的,我这样怎么老说a无效?请问这是怎么回事??希望网友们帮帮忙!!!谢谢!c

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) --指纹表名asbegin transactiondeclare @Select varchar(50)  set @Select='select FingerprintInformationID,TableNameID from ['+@TableName +'] where FingerprintInformation=' + @FingerprintInformationexec(@Select)waitfor delay '00:00:00';--等待秒commit transactionexec Proc_TB_TableName_Select '11','a1' --表名为a1,a2,……在FROM 后面用 []将表名 包起来 

热点排行