您的位置:首页 > 数据库

在sql中判斷目錄是否存在的3种方法

2011-07-21 16:26 337 查看
1,使用xp_subdirs
create TABLE #tb
(
   subdirectory varchar(256)    
)
DELETE #tb
INSERT INTO #tb
   EXECUTE master.dbo.xp_subdirs @PathUpSELECT @iCount=count(subdirectory) FROM #tb WHERE UPPER(subdirectory)=UPPER(@PathName)
IF(@iCount<=0)--目錄不存在
 ......
drop table #tb
2,使用xp_fileexist
CREATE TABLE #tmp ([File Exists] BIT, [File is a Directory] BIT, [Parent Directory Exists] BIT)
INSERT INTO #tmp ([File Exists],[File is a Directory], [Parent Directory Exists])
EXEC master.dbo.xp_fileexist 'c:\...'
SELECT * FROM #tmp
DROP TABLE #tmp
3,使用xp_cmdshell執行cd命令
 create procedure p_dir_exist
  @dirName nvarchar(400),
  @dirExist nvarchar(1) output
 as
  create table #tt
  (
      col nvarchar(255)
  )
 
  declare @sql nvarchar(4000)
  declare @cnt int
 
  select @sql = 'cd ' + @dirName
  print @sql
 
  insert into #tt
  exec master..xp_cmdshell @sql
 
  delete from #tt where col is null
  select @cnt = count(1) from #tt
  select @dirExist = 'Y'
  if @cnt > 0
      select @dirExist = 'N'
  drop table #tt
這樣調用:
 declare @dirExist nvarchar(1)
 exec master.dbo.p_dir_exist 'E:\datawin', @dirExist output
 select @dirExist
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql table file output insert xp