首页 新闻 搜索 专区 学院

写一个存储过程,里面带三个参数,分别是(一个表名,一个列名,一个输入的ID)进行查询????

0
悬赏园豆:15 [已解决问题] 解决于 2011-03-15 20:32

--公司表
create table CompanyInfo (ids int identity(1,1) primary key,
Introduction text, --公司简介
Culture text, --企业文化
Course text, --公司历程
ActivitiesPreferential text, --活动优惠
JoinCondition text, --加盟条件
SellService text, --售后服务
Talents text --人才战略
)

蝸牛漫步的主页 蝸牛漫步 | 初学一级 | 园豆:0
提问于:2011-03-07 21:18
< >
分享
最佳答案
0

不明白你要表达什么意思,表名也当参数传?若表名和列名不搭配(列不在表内)直接报错了。。。你的具体意思说下吧!

收获园豆:15
马战鹏 | 菜鸟二级 |园豆:432 | 2011-03-08 08:46
其他回答(2)
0
/******************************************************************
* 描述:通用查询存储过程(将参数在存储过程中拼成SQL再执行)
* 时间:2011-03-8
* 作者:彭汉生
*****************************************************************
*/

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[myStoredProcedure]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[myStoredProcedure]
GO
CREATE PROCEDURE [dbo].[myStoredProcedure]
@TableName varchar(20)
,
@Columns varchar(100)
,
@strWhere nvarchar(200)
AS
DECLARE @strSQL NVARCHAR(1000)

SET @strSQL=
' SELECT '
+@Columns
+' FROM ' + @TableName
+' WHERE '+@strWhere
EXEC(@strSQL)
彭汉生 | 园豆:1233 (小虾三级) | 2011-03-08 09:17
0

说到最后还是拼字符串吧。。。

顾晓北 | 园豆:10407 (专家六级) | 2011-03-08 11:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册