【问题标题】:pl/sql insert from selectpl/sql 从选择中插入
【发布时间】:2020-10-19 17:38:47
【问题描述】:

我有两张桌子:

  • table1 5 列

  • table2 4 列

我想将table2的数据复制到table1

table1 我有默认值的列,比如说column2 ='default'

我如何在 PL/SQL 中做到这一点?

【问题讨论】:

  • 为什么你认为你需要一个存储过程?
  • 这就是学校想要的
  • 你应该总是展示你让自己感到疲倦的地方。 特别是当问题是家庭作业时。
  • “我有默认值的列” - 这是否意味着您已经为该列定义了默认值作为表定义的一部分;或者您希望插入为该列使用固定值?在您的问题中显示该数据的表定义、示例数据和预期结果(editing it)会很有帮助。
  • 是的,插入一个固定值

标签: sql oracle select plsql sql-insert


【解决方案1】:

您可以insert 并枚举目标列。这个想法是:

insert into table1(col1, col3, col4, col5)
select col1, col2, col3, col4 from table2

table1 的“附加”列(我假设为 col2)不属于要插入的列列表的一部分 - 因此 Oracle 将很乐意使用配置的默认值。

【讨论】:

  • 谢谢,但我没有得到第二部分我如何配置默认值?
【解决方案2】:

您可以简单地将constant 值用于col2,如下所示:

insert into table1(col1, col2, col3, col4, col5)
select col1, 'default', col2, col3, col4 from table2;

【讨论】:

    猜你喜欢
    • 2014-08-05
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多