是否可以将行类型为X的记录插入行类型为Y的表中?

最大限度

我被一些奇怪的东西困住了。昨天我能够产生这样一个过程:

create or replace PROCEDURE proc
IS
  CURSOR CUR
  IS
    SELECT * FROM PROVA
    WHERE STATUS = 'X';

BEGIN
  FOR H IN CUR
  LOOP
    BEGIN
      INSERT INTO PROVA2 VALUES H;
      DELETE FROM PROVA WHERE ID = H.ID;
      COMMIT;
    END;
  END LOOP;
END;

其中PROVA定义为:

CREATE TABLE PROVA
   (    "ELEMENTO" VARCHAR2(20 BYTE), 
    "DATO" VARCHAR2(20 BYTE), 
    "NUMERO_TENTATIVI" NUMBER(8,0), 
    "STATUS" VARCHAR2(1000 BYTE), 
    "ID" NUMBER(*,0)
   )

PROVA2定义为:

CREATE TABLE PROVA
   (    "ELEMENTO" VARCHAR2(20 BYTE), 
    "DATO" VARCHAR2(20 BYTE), 
    "NUMERO_TENTATIVI" NUMBER(8,0), 
    "STATUS" VARCHAR2(1000 BYTE), 
    "ID" NUMBER(*,0)
    "DATE_TIME" TIMESTAMP (6) DEFAULT CURRENT_TIMESTAMP
   )

不幸的是,我的错误是,我没有保存并提交正确的过程,所以现在我坚持使用旧的过程(在这里,当我执行插入操作时,我必须指定每一列...

INSERT INTO PROVA2(bla,bla,bla...) 
      VALUES (bla,bla,bla...);

我希望从表结构中抽象出INSERT部分,并在各处进行了搜索,但是我找不到关于我发布的第一个PROCEDURE给我的错误的任何证据,该错误是:

 ORA-00947: not enough values

所以我的问题是:是否可以将表X中的完整记录插入到表Y中,该表具有相同的列,但DATE_TIME具有默认值(并且我不想修改...)。

我希望这不会造成混乱,并且我在互联网上到处搜索到的情况都没有运气。

谢谢。

编辑:总结:给定一个具有foo,bar,foobar作为列的表A,其中foobar具有默认值:我可以使用以下方法从具有foo,bar作为列的表B中插入记录'x':

插入A值x

谢谢

瓦夫

您可以使用视图来做到这一点:

create table tmp(
id number
);
create table tmp1(
id number,
dt date default sysdate
);
create view tmp1_vw as select id from tmp1;
insert into tmp1_vw values (1);

结果:

table TMP created.
table TMP1 created.
view TMP1_VW created.
1 rows inserted.

您的过程也可以正常运行:

declare
  CURSOR CUR
  IS
    SELECT * FROM tmp;
BEGIN
  FOR H IN CUR
  LOOP
    BEGIN
      INSERT INTO tmp1_vw VALUES H;
    END;
  END LOOP;
END;

并且不要在每个语句之后都提交。


收到第一条评论后继续跟进

您有2个表,结构略有不同。

要解决该问题,您可以在第二张表上进行查看,使其看起来与第一张表完全相同。然后,从第一个表派生的“记录类型”也将在视图上工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将记录CKRecordID保存到服务器时出错:无效尝试将记录从类型“ X”更新为“ Y”

来自分类Dev

是否可以仅将类扩展为受限类型?

来自分类Dev

是否可以将JavaScript对象评估为基本类型

来自分类Dev

是否可以将 LatLng 对象类型解析为位置?

来自分类Dev

将返回的记录类型解析为PostgreSql中的多列

来自分类Dev

是否可以在 gremlin 中为整数类型保存空值

来自分类Dev

在构造函数中获取类型为Y的X个实例

来自分类Dev

确定是否可以将任意类型的实例设置为任意类型的值

来自分类Dev

类型“ X”未映射为表

来自分类Dev

如何仅在表1中的字段为空时将记录插入表2中

来自分类Dev

是否可以在PL / SQL的表集合中插入表类型集合

来自分类Dev

在Java多态中,是否可以将实现接口的所有类都创建为该类型接口?

来自分类Dev

在Java多态中,是否可以将实现接口的所有类都创建为该类型接口?

来自分类Dev

为什么在 Swift 中包装可选值?是否可以在不声明类型的情况下将变量设置为可选?

来自分类Dev

如果初始内容为空,是否可以使用org-capture-templates不插入行

来自分类Dev

我可以在数据类型为文本的表格列中插入 qoutes

来自分类Dev

在Swift中是否有一种方法可以将泛型约束为一种类型或另一种类型?

来自分类Dev

是否可以编写类型特征来检查类型是否为带有附加的特定类型?

来自分类Dev

在 postgresql 中插入连接两个数据类型为串行的表

来自分类Dev

检查类中泛型类型是否为特定类型

来自分类Dev

测试类型是否为Idris中的函数类型

来自分类Dev

检测给定类型是否为C ++ 03中的函数类型

来自分类Dev

为R中的缺失数据插入行-数量为0

来自分类Dev

是否可以将Google Apps脚本Blob的内容类型设置为Spreadsheet来返回?

来自分类Dev

是否可以将jpeg(或png)类型的图像设置为exe(C ++)?

来自分类Dev

是否可以将Parquet文件的字典列的值存储为混合类型?

来自分类Dev

调试时是否可以将局部变量显示为特定的结构/数据类型?

来自分类Dev

是否可以将jpeg(或png)类型的图像设置为exe(C ++)?

来自分类Dev

是否可以将一个对象拆箱为多个值类型?

Related 相关文章

  1. 1

    将记录CKRecordID保存到服务器时出错:无效尝试将记录从类型“ X”更新为“ Y”

  2. 2

    是否可以仅将类扩展为受限类型?

  3. 3

    是否可以将JavaScript对象评估为基本类型

  4. 4

    是否可以将 LatLng 对象类型解析为位置?

  5. 5

    将返回的记录类型解析为PostgreSql中的多列

  6. 6

    是否可以在 gremlin 中为整数类型保存空值

  7. 7

    在构造函数中获取类型为Y的X个实例

  8. 8

    确定是否可以将任意类型的实例设置为任意类型的值

  9. 9

    类型“ X”未映射为表

  10. 10

    如何仅在表1中的字段为空时将记录插入表2中

  11. 11

    是否可以在PL / SQL的表集合中插入表类型集合

  12. 12

    在Java多态中,是否可以将实现接口的所有类都创建为该类型接口?

  13. 13

    在Java多态中,是否可以将实现接口的所有类都创建为该类型接口?

  14. 14

    为什么在 Swift 中包装可选值?是否可以在不声明类型的情况下将变量设置为可选?

  15. 15

    如果初始内容为空,是否可以使用org-capture-templates不插入行

  16. 16

    我可以在数据类型为文本的表格列中插入 qoutes

  17. 17

    在Swift中是否有一种方法可以将泛型约束为一种类型或另一种类型?

  18. 18

    是否可以编写类型特征来检查类型是否为带有附加的特定类型?

  19. 19

    在 postgresql 中插入连接两个数据类型为串行的表

  20. 20

    检查类中泛型类型是否为特定类型

  21. 21

    测试类型是否为Idris中的函数类型

  22. 22

    检测给定类型是否为C ++ 03中的函数类型

  23. 23

    为R中的缺失数据插入行-数量为0

  24. 24

    是否可以将Google Apps脚本Blob的内容类型设置为Spreadsheet来返回?

  25. 25

    是否可以将jpeg(或png)类型的图像设置为exe(C ++)?

  26. 26

    是否可以将Parquet文件的字典列的值存储为混合类型?

  27. 27

    调试时是否可以将局部变量显示为特定的结构/数据类型?

  28. 28

    是否可以将jpeg(或png)类型的图像设置为exe(C ++)?

  29. 29

    是否可以将一个对象拆箱为多个值类型?

热门标签

归档