在我的主要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。
感谢您的帮助!
克里斯。
答案 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