如何在SQL查询中包含SQL代码?

时间:2014-07-23 08:29:57

标签: sql sql-server sql-server-2005

在我的主要select语句之前,我首先必须创建一个包含数千行的临时表(使用select语句自动获取这些行在我的SQL Server环境中是不可行的),但在该SQL查询中工作是一个可读性的噩梦,因为我的.sql文件有数千行:(

有可能实现这样的目标吗?

include('actors_tables.sql') /*including all the insert code*/
select * from #temp_actors

而不是这个?

create table #temp_actors (firstname varchar(50), lastname varchar(50))
insert into #temp_actors values ('George','Clooney')
insert into #temp_actors values ('Bill','Murray')
insert into #temp_actors values ('Bruce','Willis')
... + 1000 inserts in thousands of lines
select * from #temp_actors

对我而言似乎是一个基本的简单功能,但我无法找到如何实现这一目标...... 服务器正在运行SQL Server 2005,我正在使用SQL Server Management Studio 2008。

感谢您的帮助!

克里斯。

2 个答案:

答案 0 :(得分:0)

您可以在命令提示符中使用Sqlcmd和输入文件(使用sqlcmd -i actors_tables.sql)。

答案 1 :(得分:0)

在命令提示符下,启动 sqlcmd

sqlcmd -S <server> -i C:\<your file name here>.sql -o

或者从sql server management studio运行 xp_cmdshell sqlcmd

EXEC xp_cmdshell  'sqlcmd -S ' + @DBServerName + ' -d  ' + @DBName + ' -i ' + @FilePathName