在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
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
相关文章推荐
- SqlDataReader,DataTable 判断是否存在某列的方法
- SqlDataReader,DataTable 判断是否存在某列的方法
- sql 判断 函数 存储过程是否存在的方法
- SQL学习之查询技巧 查询表是否存在的两种方法
- sql 判断 函数 存储过程是否存在的方法
- 用Sql添加删除字段,判断字段是否存在的方法
- [SQL,Java]判断某一个已知表名的表是否在数据库中存在的方法
- sql 判断 函数 存储过程是否存在的方法
- sql server中判斷數據庫是否存在的方法
- SQL查询表是否存在的两种方法
- 用3种方法检测远程URL是否存在
- SQL 查询字段某个字符是否存在解决方法即in(字符解决)
- SQL查询表是否存在的两种方法
- linux下判断路径是否存在的3种方法
- *用Sql添加删除字段,判断字段是否存在的方法
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
- SQL查询表是否存在的两种方法
- 用Sql添加删除字段,判断字段是否存在的方法
- 用3种方法检测远程URL是否存在。
- 用Sql添加删除字段,判断字段是否存在的方法