在 Oracle 上使用插入语句的最佳方法

Lui*_*lli 2 oracle plsql

我需要将来自客户和公司的地址存储到具有相同列的不同表中。我想知道使用相同的插入语句的最佳方法是什么,但只能通过更改表的名称。

例子:

CASE CPF
 WHEN NULL
  INSERT INTO COMPANIES_ADDRESS (ZIPCODE, STREET, NUMBER) VALUES (V_ZIPCODE, V_STREET, V_NUMBER)
 ELSE
  INSERT INTO CUSTOMERS_ADDRESS (ZIPCODE, STREET, NUMBER) VALUES (V_ZIPCODE, V_STREET, V_NUMBER)
END
Run Code Online (Sandbox Code Playgroud)

Dav*_*itz 6

insert first
when CPF is null 
then into COMPANIES_ADDRESS (ZIPCODE, STREET, "NUMBER")
else into CUSTOMERS_ADDRESS (ZIPCODE, STREET, "NUMBER")
select  V_ZIPCOD, V_STREET, V_NUMBER 
from    dual
Run Code Online (Sandbox Code Playgroud)

Ps
使用保留字作为标识符(在这种情况下NUMBER作为列名)是一种非常糟糕的做法。