【发布时间】:2021-09-01 09:54:46
【问题描述】:
我有两张桌子:
表1:
| USER_NUM | FIRST_NAME | LAST_NAME |
|---|---|---|
| A123 | Billy | Bob |
| A124 | Billy | Joe |
| Jane | Doe | |
| John | Doe |
我正在尝试将USER_NAME 下的FIRST_NAME 和LAST_NAME 插入table2:
| OWNER_ID | USER_NUM | USER_NAME |
|---|---|---|
| 111 | A123 | |
| 112 | A124 |
使用这个查询:
BEGIN
FOR c1 IN (SELECT UPPER(t1.USER_NUM) number
,t1.FIRST_NAME || ' ' || LAST_NAME user_name
FROM table1 t1
INNER JOIN table2 t2
ON number = t2.USER_NUM
WHERE regexp_replace(number, '[[:space:]]+', NULL) IS NOT NULL
)
LOOP
INSERT INTO table2 (USER_NAME) values (c1.user_name)
END LOOP;
END;
问题是,如果我隔离我的选择语句,我仍然会得到 USER_NUM 的空白值,表格如下所示:
| USER_NUM | USER_NAME |
|---|---|
| A123 | Billy Bob |
| A124 | Billy Joe |
| Jane Doe | |
| John Doe |
我收到一条错误消息,提示我无法在表中插入空值。
如何去除USER_NUM 中的这些空白值?
【问题讨论】: