【发布时间】:2021-03-12 20:00:34
【问题描述】:
我需要将 100 多行数据插入一个包含 25 个文本列的表中。 我只想在这些列中插入一些数据,其余的用空格表示。
(注意:PeopleSoft 表上的文本字段定义为 NOT NULLABLE,使用单个空格字符表示没有数据,而不是 null。)
有没有办法编写一个不定义所有列以及空格的插入语句。举个例子:
INSERT INTO CUST.RECORD(BUSINESS_UNIT, PROJECT_ID, EFF_STATUS, TMPL, DESCR) VALUES('TOO1','PROJ1','A','USA00','USA00 CONTRACT');
对于 CUST.RECORD 中的所有其他列,我想插入“”而不定义插入中的列或空格。
【问题讨论】:
-
如果您只是想为单个 SQL 语句节省一些输入,那么您可能不走运。但是,如果这是您想要为许多插入或许多表重复的模式,那么有一些选项可以提供帮助。但是任何解决方案都需要创建 PL/SQL 对象,并且还取决于数据库版本。 (例如,可能有一种使用多态表函数的方法,但至少需要 18c 版本。)
标签: oracle peoplesoft