标题:求一个sql语句
只看楼主
shizhusz110
Rank: 1
等 级:新手上路
帖 子:307
专家分:0
注 册:2006-12-21
 问题点数:0 回复次数:6 
求一个sql语句
我想把表名和表的字段都当参数传进存储过程怎么写??
本来自己写了个,出现了个郁闷的错误.有些表行有些表的字段查不到.
特别来讨个回去对比下.
谢谢!
搜索更多相关主题的帖子: sql 语句 
2007-11-17 20:24
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 

create proc p_Test
@tbname sysname,
@value int
as
declare @sql varchar(8000)
set @sql='select * from ['+@tbname+'] where fdname='+@value
exec (@sql)
go

字段的类型不同..需要做不同的处理..这个自己写.


我的msn: myfend@
2007-11-17 20:43
shizhusz110
Rank: 1
等 级:新手上路
帖 子:307
专家分:0
注 册:2006-12-21
得分:0 

谢谢您的回复.那怎么获得某个字段的类型呢??

2007-11-17 21:06
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
将syscolumns表和systypes表结合查询.

我的msn: myfend@
2007-11-17 21:20
shizhusz110
Rank: 1
等 级:新手上路
帖 子:307
专家分:0
注 册:2006-12-21
得分:0 
我问的是您的fname也是sysname类型吗value也是吗??
2007-11-17 21:25
shizhusz110
Rank: 1
等 级:新手上路
帖 子:307
专家分:0
注 册:2006-12-21
得分:0 
alter proc A_AssetFind
(
@table sysname,
@filed sysname,
@value sysname
)
as
declare @sql nvarchar(1000)
set @sql = 'select * from [' + @table +'] where ['+@filed+']= ' +@value
exec(@sql)
go
这样怎么有错??
2007-11-17 21:27
XieLi
Rank: 1
等 级:新手上路
威 望:1
帖 子:762
专家分:0
注 册:2007-7-24
得分:0 
alter proc A_AssetFind
(
@table sysname,
@filed sysname,
@value sysname
)
as
declare @sql nvarchar(1000)
set @sql = 'select * from [' + @table +'] where '+@filed+'= ' +@value
exec(@sql)
go

拥有蓝天的白云,拥有你的我.
2007-11-19 08:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-186825-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.263550 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved