请教SQL Server的一个动态语句问题

vicentyan 2001-12-17 11:46:06
在一个存储过程中需要用到动态的SQL语句,字段名称是动态的,但我想需要得到字段中的内容,该如何做呢?

declare @fieldx varchar(20)
declare @result varchar(20)
delcare @sqlstr varchar(1024)
--下面这句该如何写:
select @sqlstr='select '+@fieldx +' from tablename where something=something' ????

exec (@sqlstr)

我用的是SQL 7.0,先行谢过!
...全文
61 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
m_cen 2001-12-18
  • 打赏
  • 举报
回复
见:
http://www.csdn.net/Expert/topic/419/419919.shtm
蓝天 2001-12-18
  • 打赏
  • 举报
回复
drop table test_2
go
create table test_2 ( a int , a1 int, a2 int , b datetime)
go
insert into test_2 values (3,4,7,getdate())
go
select * from test_2
go
drop PROCEDURE sp_test
go

CREATE PROCEDURE sp_test (@fieldx varchar(20),@testtime DATETIME)
AS
BEGIN
SET NOCOUNT ON
DECLARE @sqlstr VARCHAR(1024)
DECLARE @timeStr VARCHAR(40)
SELECT @timeStr = CAST(@testtime AS VARCHAR)

SELECT @sqlStr ='select '+@fieldx+' from test_2 where b > '+ ''''+@timeStr+''''
-- print @sqlstr
EXEC(@sqlStr)
SET NOCOUNT OFF
END

go
sp_test 'a','20010101'
go
sp_test 'b','20010101'
go
mmzxg 2001-12-18
  • 打赏
  • 举报
回复
可以使用存储过程来执行,可以设置输入、输出控制
N_chow 2001-12-18
  • 打赏
  • 举报
回复
用sp_executeSql來執行,它可以定義OUTPUT類型的變量。具體例子可以搜CSDN以前的帖子。
相关推荐
发帖
MS-SQL Server

3.4w+

社区成员

MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2001-12-17 11:46
社区公告
暂无公告