我想创建一个使用表中一列中的值的变量,使用该 # 执行一个函数,然后移动到该列中的下一行以再次执行相同的函数。
我已经尝试了几种方法并且在完成它时遇到了问题,不确定我是否走在正确的道路上。
从此表中:
INSERT #DirectoryTree (subdirectory,depth,isfile)
EXEC master.sys.xp_dirtree 'D:\Documents and Settings\arabrya\Desktop\Project\mdb files',1,1;
SELECT * FROM #DirectoryTree
ORDER BY id;
GO
输出是:
id subdirectory
1 4483167B.mdb
2 4536807.mdb
3 4536897A.mdb
4 4536897B.mdb
5 4546780.mdb
6 4619524.mdb
7 4662828.mdb
8 4700416.mdb
9 4706729.mdb
10 4789161.mdb
11 4789161A.mdb
12 4808925.mdb
13 4882574A.mdb
14 4910394A.mdb
15 4986274.mdb
16 976767.mdb
17 976767A.mdb
18 976767B.mdb
去做这个:
INSERT INTO [test5].[dbo].[tblJob]
SELECT * FROM OPENDATASOURCE(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\bhr05\mdb\' + @varName + '.mdb"'
其中@varName 是“#DirectoryTree”表中“子目录”列中的变量。这可能吗?如果是怎么办?