簡體   English   中英

SQL 開發人員 ORACLE 腳本

[英]SQL Developer ORACLE SCRPT

我有一個有 2 列的表

通用名稱 用戶名
ABC 123 123
CDE 123 XYZ 123

我正在嘗試找到一個 PL SQL 腳本,它將遍歷公用名列中的所有用戶,如果公用名不等於 usr_name,那么它會更新 usr 名稱並使其與公用名相同

應該是這樣的

if common name != usr name // 更新 usr_name == common name

您不需要 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)

其中,對於樣本數據:

CREATE TABLE table_name (Common_name, usr_name) AS
SELECT 'ABC 123', '123' FROM DUAL UNION ALL
SELECT 'CDE 123', 'XYZ 123' FROM DUAL

然后,更新后的表包含:

COMMON_NAME USR_NAME
ABC 123 ABC 123
CDE 123 CDE 123

db<> 在這里擺弄

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM