gpt4 book ai didi

Oracle 存储过程删除用户

转载 作者:行者123 更新时间:2023-12-04 18:22:41 30 4
gpt4 key购买 nike

我尝试了类似的方法从 Oracle DB 中删除用户。

create or replace procedure skeleton1(inUser varchar) IS
begin
set @str = concat('drop user ', "'",inUser,"'@","'localhost'");
prepare stmt from @str;
-- select @str;
execute IMMEDIATE stmt;
deallocate prepare stmt;
end//
delimiter ;

但我面临多个编译错误。

有人可以帮忙吗?

最佳答案

您所拥有的很少是有效的 Oracle 语法。我建议你在尝试做任何可能具有破坏性的事情之前开始阅读 PL/SQL 文档。也许开始here看看它会把你带到哪里。

我有点不愿意直接回答,但你会从某个地方得到它;所以你可以做类似的事情:

create or replace procedure skeleton1(inUser varchar) IS
begin
execute IMMEDIATE 'drop user ' || inUser);
end;
/

但是你需要清理你的输入以真正确保它不会被滥用,你真的需要了解你在做什么以及它可能产生什么影响。举一个例子,如果用户拥有任何对象,这将失败。

关于Oracle 存储过程删除用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10330031/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com