是否可以在Oracle中以DML插入,更新形式从表返回一行?

问题描述

| 我正在尝试从表中的一行生成一条插入语句? 如果该行是[1,\“ myfirstname \”,\“ mylastname \”],则可以通过以下方式获取查询: \“插入表某表(uid,FirstName,LastName)值(1,\” myfirstname \“, \“我的姓\”) ...不使用动态SQL? 谢谢 编辑: 诚然,我对此很懒,并且正试图不使用动态sql / all_tab_columns。 我希望进行一些神奇的函数调用,以返回一行DML语句,就像可以获取对象的DDL表达式一样: 从双选择d​​bms_metadata.get_ddl(\'TABLE \',\'TABLENAME \')...但是DML连续一行...问我想太多了。     

解决方法

您想将“原始”数据转换为SQL插入语句。 使用SQL无法做到这一点,但是通常GUI客户端具有这种功能     ,我想你需要这个
   insert into table sometable (uid,FirstName,LastName) SELECT 1,\'myfirstname\',\'mylastname\' from othertable where somecondition
也看看这个     ,尝试这个: 从表a中选择\'插入表名(字段名)值(\'\'\'+ a.fieldname + \'\'\')\' 根据需要格式化每个字段值。     ,假设您的字符串格式或多或少是静态的,那么您可能要使用以下示例:
INSERT
   INTO
  someTable
  (
     SELECT
      regexp_substr(expr,\'[0-9]+\') val1,regexp_substr(expr,\'[a-zA-Z]+\') val2,\'[a-zA-Z]+\',1,2) val3
       FROM
      (
         SELECT
          \'[1,\"myfirstname\",\"mylastname\"]\' expr
           FROM
          dual
      )
  ) ;
    ,从Oracle网站下载SQLDeveloper(免费)。 登录到数据库架构,然后从“表”列表中,右键单击要从中获取数据的表,选择\“导出... \”,然后按照向导步骤进行操作,选择格式为“插入”您的数据。它将为您的表中的数据创建一个插入语句文件。 通过在向导的一步中提供从句条件,可以将其限制为行的子集。     ,是的,您可以在Oracle Sqldeveloper中执行此操作。 正如CMG在帖子中所说的那样。 只需右键单击要获取数据的表->导出->插入->指定文件路径以保存脚本->宾果:)     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...