//目录表的数据结构,为了方便,采用了统一的数据类型
create table Folder
(
folderID varchar(20), //本目录的标识
parentID varchar(20), //父目录的标识
Name varchar(20), //目录名
status varchar(20) //目录状态
)
//建一个函数,通过父ID查询出所有的子ID,返回的是一个表,表中只有所有的子ID
CREATE FUNCTION F_GETDIRECTCHILDS (PARENT VARCHAR(20))
RETURNS TABLE (ID VARCHAR(20)) //返回的是一个只有id的表
LANGUAGE SQL //指定程序用SQL语言
DETERMINISTIC //表示动态返回结果集
READS SQL DATA //表示只可读取数据
STATIC DISPATCH //
NO EXTERNAL ACTION //表示存储过程是否执行一些改变理数据库状态的活动,
INHERIT SPECIAL REGISTERS //表示继承专用寄存器
RETURN //返回结果集的最终执行SQL
SELECT child_id
FROM ( SELECT folderid FROM folder WHERE folder.parentid = f_getdirectchilds.parent) AS T(child_id)