drop procedure if exists net_disk.p_dir_info;
delimiter$$
# username:用户名(需传入的参数) path: 目录路径(需传入的参数)
create definer=root@localhost procedure net_disk.p_dir_info(in username varchar(20), in path varchar(255))
begin
select * from
(
#找出目录的信息:目录的使用者、路径、目录、创建时间、文件数量、文件大小
select d.username, d.path, d.dir, d.create_time,
#该目录内的文件的数量
(case isnull(sum(f.count)) when true then 0 else sum(f.count) end) as count,
#目录内的所有文件的总大小
(case isnull(sum(f.size)) when true then 0 else sum(f.size) end) as size
from t_directories d left join
(select file_parent_path, count(filename) as count, sum(size) as size from t_files group by file_parent_path) f
on f.file_parent_path=d.path
where d.username=username and d.path=path
)dir order by d.create_time;
end
delimiter;
程序总是提醒我delimiter$$这句错误,真是百思不得其解,请知道的兄弟帮帮忙,诚谢!
delimiter$$
。。
delimiter;
定界符的使用没错吧?
delimiter$$
# username:用户名(需传入的参数) path: 目录路径(需传入的参数)
create definer=root@localhost procedure net_disk.p_dir_info(in username varchar(20), in path varchar(255))
begin
select * from
(
#找出目录的信息:目录的使用者、路径、目录、创建时间、文件数量、文件大小
select d.username, d.path, d.dir, d.create_time,
#该目录内的文件的数量
(case isnull(sum(f.count)) when true then 0 else sum(f.count) end) as count,
#目录内的所有文件的总大小
(case isnull(sum(f.size)) when true then 0 else sum(f.size) end) as size
from t_directories d left join
(select file_parent_path, count(filename) as count, sum(size) as size from t_files group by file_parent_path) f
on f.file_parent_path=d.path
where d.username=username and d.path=path
)dir order by d.create_time;
end
delimiter;
程序总是提醒我delimiter$$这句错误,真是百思不得其解,请知道的兄弟帮帮忙,诚谢!
delimiter$$
。。
delimiter;
定界符的使用没错吧?
非得把
delimiter$$
delimiter;
注释掉才不报错
不知道是何原因
-> end
-> delimiter;
->
在mysql命令行中,必须以下面的格式输入才正确
delimiter $$
CREATE PROCEDURE test8()
begin
select * from t_users;
end $$
delimiter ;