试试CREATE proc Read_Data
(
@Table_Name nvarchar(255),
@Fields_Name nvarchar(255),
@Fields_Value nvarchar(255)
)
as
exec('select * from ' + @Table_Name + 'where ' + @Fields_Name + '=' + @Fields_Value + '')GO
执行
exec Read_Data 'tUserInfo' , 'fUInterNo' ,'26557161-b939-43a5-ae13-108adaf370e2'
(
@Table_Name nvarchar(255),
@Fields_Name nvarchar(255),
@Fields_Value nvarchar(255)
)
as
exec('select * from ' + @Table_Name + 'where ' + @Fields_Name + '=' + @Fields_Value + '')GO
执行
exec Read_Data 'tUserInfo' , 'fUInterNo' ,'26557161-b939-43a5-ae13-108adaf370e2'
' where ' + @Fields_Name + '=''' + @Fields_Value + '''')
^^(whrer前要多个空格) ^^^ ^^^两个单引号,代表一个单引号
(
@Table_Name nvarchar(255),
@Fields_Name nvarchar(255),
@Fields_Value nvarchar(255)
)
asdeclare @T varchar(8000)set @T='select * from ' + @Table_Name + ' where ' + @Fields_Name + '=''' + @Fields_Value + ''''--print @T
exec(@T)
传入的参数应该怎样,是不是一样的,
(
@Table_Name nvarchar(255),
@WhereClause nvarchar(255)
)
as
exec('select * from ' + @Table_Name +
' where ' + @WhereClause )
GO
执行
exec Read_Date 'tUserInfo' ,'fInterNo=8543581c-f2a1-4a35-af8f-2ea5ce4c6b17'
错误
第 1 行: '8543581' 附近有语法错误。
@Fields_Name nvarchar(255),
@Fields_Value nvarchar(255)select @Table_Name= 'tUserInfo' , @Fields_Name='fUInterNo' , @Fields_Value = '26557161-b939-43a5-ae13-108adaf370e2'print 'select * from ' + @Table_Name + ' where ' + @Fields_Name + '=''' + @Fields_Value + ''''
(
@Table_Name nvarchar(255),
@WhereClause nvarchar(255)
)
asdeclare @T varchar(8000)set @T='select * from ' + @Table_Name + ' where ' + @WhereClause+ ''print @T
exec(@T)
exec Read_Data 'tUserInfo' , 'fUInterNo=''26557161-b939-43a5-ae13-108adaf370e2'''
(
@Table_Name nvarchar(255),
@WhereClause nvarchar(255)
)
asdeclare @T varchar(8000)
exec('select * from ' + @Table_Name + ' where ' + @WhereClause+ '')调用exec Read_Data 'tUserInfo' , 'fUInterNo=''26557161-b939-43a5-ae13-108adaf370e2'''
(
@Table_Name nvarchar(255),
@WhereClause nvarchar(255)
)
asexec('select * from ' + @Table_Name + ' where ' + @WhereClause+ '')
调用exec Read_Data 'tUserInfo' , 'fUInterNo=''26557161-b939-43a5-ae13-108adaf370e2'''