根据条件更改用户标识

问题描述 投票:0回答:1

尝试开发一个简单的 SQL 脚本来使用

alter user username identified by password;
更改一组数据库上的大量用户的密码。某些用户可能存在,也可能不存在。曾想过将其编写为 PL/SQL,但这会使它变得更加复杂,而且我不想走那条路。

尽管我可以从 syscontext 使用一个条件,但我可以在运行该

alter
语句之前检查该条件。有可能做这样的事情吗?

我在想类似

alter user ... case when...
之类的事情。

我知道这是一个不太可能的尝试,而且也是彻头彻尾的愚蠢。在假设事情之前先问一下,一路上听起来很愚蠢!感谢您的投入!

更新1: 一些额外的细节。

我有一个bash脚本如下,基本注释一下:

for dbname in dblist
do
sqlplus user@$dbname <<EOF
alter user bob identified by bob;
alter user jim identified by jim;
EOF
done

我想为 jim 的用户添加一个条件,仅当该用户存在于给定数据库中时才运行它。

sql oracle
1个回答
0
投票

从 Oracle 23c 开始,您可以将

ALTER USER
IF EXISTS
一起使用:

ALTER USER IF EXISTS …

alter_user 的描述

© www.soinside.com 2019 - 2024. All rights reserved.