[英]SQL Developer ORACLE SCRPT
I have a table with 2 columns我有一个有 2 列的表
Common name![]() |
usr_name![]() |
---|---|
ABC 123 ![]() |
123 ![]() |
CDE 123 ![]() |
XYZ 123 ![]() |
I'm trying to find a PL SQL script that would go through all the users in the common name column and if the Common name not equal usr_name then it updates the usr name and makes it the same as common name我正在尝试找到一个 PL SQL 脚本,它将遍历公用名列中的所有用户,如果公用名不等于 usr_name,那么它会更新 usr 名称并使其与公用名相同
should look like this应该是这样的
if common name != usr name // update usr_name == common name if common name != usr name // 更新 usr_name == common name
You do not need PL/SQL, use an UPDATE
SQL statement and put your logic in the WHERE
clause:您不需要 PL/SQL,使用
UPDATE
SQL 语句并将您的逻辑放在WHERE
子句中:
UPDATE table_name
SET usr_name = common_name
WHERE usr_name != common_name
OR (usr_name IS NOT NULL AND common_name IS NULL)
OR (usr_name IS NULL AND common_name IS NOT NULL)
Which, for the sample data:其中,对于样本数据:
CREATE TABLE table_name (Common_name, usr_name) AS
SELECT 'ABC 123', '123' FROM DUAL UNION ALL
SELECT 'CDE 123', 'XYZ 123' FROM DUAL
Then, after the update the table contains:然后,更新后的表包含:
COMMON_NAME COMMON_NAME
USR_NAME USR_NAME
ABC 123 ABC 123
ABC 123 ABC 123
CDE 123 CDE 123
CDE 123 CDE 123
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.