用sql来管理非数据的对象
sql还可以管理非数据对象,是不是很奇怪,呵呵,今天就来看看用SQL管理文件目录的方法。
SQL Hub 3 . 0 . 0中的视图有了很大的改进:
o支持触发器
o支持数据权限
o允许insert、update和delete语句中的操作
o支持索引
通过这些新特性,我们可以实现可管理的虚拟化视图。下面举个例子:
1。首先,执行以下sql来创建视图
-文件目录虚拟视图
创建或替换视图mydir as
begin
select name from sys . file(' d:)
end;
查询上述视图将返回d:\mydir目录下的所有子目录。
select * from mydir
+-+
| name |
+-+
| f1 |
| F2 |
+-SQL语句如下:
-文件目录虚拟视图触发器
create或replace trigger mydir _ trigger for mydir as
begin
-基目录
v_dir := 'd:\mydir\ '。
如果type =' before _ insert '那么
-创建目录
OS cmd(' cmd/cmd '+v _ dir+new . name);
else if type = ' before _ delete ' then
-删除目录
OS cmd(' cmd/c rd '+v _ dir+new . name);
else if type = ' before _ update ' then
-重命名目录
OS cmd(' cmd/rename '+v _ dir+old . name+'+new . name);
end if;
end;
0条评论