问了半个月了,来者有分,关于存储过程!
如题,数据库中有很多表,每个表都有一个字段name,请问我想对这些表应用一个存储过程,
查询条件是name字段中含有类似于varchar变量str的字段。
"select * from " + tablename + " where name LIKE %str%";
在存储过程中需要定义两个变量,请问高手怎么写?马上给分!
问题点数:10、回复次数:7Top
1 楼zlp321002(Life Is Good,Let's Shine)回复于 2006-05-01 16:55:59 得分 0
--用动态SQL啊.
exec('select * from '+表名+' where name like '%条件%'')Top
2 楼huntbookren()回复于 2006-05-01 17:19:44 得分 0
CREATE PROCEDURE Find_book
@table_name varchar(20),@strsql varchar(200)
AS
exec('select * from '+ @table_name + ' where leibie = '+ @strsql )
GO
EXECUTE Find_book @table_name = 'vb', @strsql = 'vb教程'
这样写为何有错误??????????????Top
3 楼jixiaojie(太多借口)回复于 2006-05-01 17:42:33 得分 0
CREATE PROCEDURE Find_book
@table_name varchar(20),@strsql varchar(200)
AS
exec('select * from '+ @table_name + ' where leibie = '''+ @strsql+'''' )
GO
EXECUTE Find_book @table_name = 'vb', @strsql = 'vb教程'Top
4 楼z_l(等你)回复于 2006-05-02 14:23:17 得分 0
刚接触!Top
5 楼xeqtr1982(Visual C# .NET)回复于 2006-05-02 15:01:42 得分 0
exec('select * from '+@tablename+' where name like ''%'+@str+'%''')
Top
6 楼rangwoxiao(让我笑)回复于 2006-05-03 00:12:53 得分 0
楼主的问题貌似无解的。当多个表联合查询时,无法指定NAME属于那个表。Top
7 楼tian790317()回复于 2006-05-05 15:35:48 得分 0
学习Top




