PL/SQL 如何返回 ROW 中的所有属性

2023-12-12

我不知道如何使用 RETURNING 子句返回所有属性

我想要这样的东西:

DECLARE  
    v_user USER%ROWTYPE  
 BEGIN  
     INSERT INTO User 
     VALUES (1,'Bill','QWERTY') 
     RETURNING * INTO v_user;  
END;

RETURNING * INTO出现错误,我该如何替换* ?


如果我们能做类似的事情那就太好了,但是可惜:

SQL> declare
  2      v_row t23%rowtype;
  3  begin
  4      insert into t23
  5          values (my_seq.nextval, 'Daisy Head Maisy')
  6          returning * into v_row;
  7  end;
  8  /
        returning * into v_row;
                  *
ERROR at line 6:
ORA-06550: line 6, column 19:
PL/SQL: ORA-00936: missing expression
ORA-06550: line 4, column 5:
PL/SQL: SQL Statement ignored


SQL>

我相信可能有对此功能的已记录更改请求,因为我知道很多人都想要它。但目前我们能做的就是对每一列进行冗长的说明:

SQL> declare
  2      v_row t23%rowtype;
  3  begin
  4      insert into t23
  5          values (my_seq.nextval, 'Daisy Head Maisy')
  6          returning id, person_name into v_row;
  7  end;
  8  /

PL/SQL procedure successfully completed.

SQL>

如果您有很多专栏,那就是坏消息了!

我怀疑其基本原理是,大多数表具有相对较少的派生列(分配给 ID 的序列、分配给 CREATED_DATE 的 sysdate 等),因此大多数值对于插入过程来说应该是已知的(或至少是已知的)。

edit

我关心如何返回所有 属性无需啰嗦 每列的规范;)也许 不可能。

我以为我已经说清楚了,但无论如何:是的,目前无法使用*或 RETURNING 子句中的一些类似的非特定机制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PL/SQL 如何返回 ROW 中的所有属性 的相关文章

  • 是否可以在 Hibernate 中使用分析函数?

    有没有办法在 Hibernate 中使用类似 sql server 的分析函数 就像是 select foo from Foo foo where f x max f x over partition by f y 您正在寻找本机 SQL
  • sql查询中where子句中的CASE语句

    我正在尝试在我正在处理的查询的 where 子句中编写一个 case 语句 我正在水晶报告中导入代码 我基本上是想说明变量 类型 是否设置为 创建 以便在where子句中为该日期范围运行 否则为不同的日期范围运行 它一直给我一个错误 我似乎
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • 添加日期时间和时间

    服务器 SQL Server 2012 SP1 开发者版 Code declare datetime datetime 1900 01 01 00 00 00 000 declare time time 11 11 11 select da
  • 带可选参数的 SQL 更新命令?

    我将大约 500 000 个对象插入数据库 其中许多对象是相同的 在数据库中具有相同的主键表示 但其他字段可能不同 因此我使用方法 更新 如果没有行受影响 插入 问题是 有时一个对象的某些字段设置为 null 从文件中无法读取 并且已经在数
  • 在数据库中有效存储商品位置(用于订购)

    设想 有一个用户拥有的电影数据库 电影显示在一个名为 我的电影 的页面上 电影可以按照用户想要的顺序显示 例如 位置 1 为 搏击俱乐部 位置 3 为 Drive 依此类推 显而易见的解决方案是存储每个项目的位置 例如 电影 ID 用户 I
  • 排除任何字段中具有 NULL 值的行结果?

    我有一个像这样的简单选择 SELECT FROM table WHERE fk id 10020 它可以工作 但有一些字段为 NULL 没有模式所以做了 SELECT FROM table WHERE fk id 10020 AND NOT
  • 有没有办法将应用程序上下文与非 Sybase DB 服务器中的数据库连接进行通信(类似于 Sybase 中的 set_appcontext)?

    Sybase 有一种让应用程序进行通信的方法 上下文 数据 http manuals sybase com onlinebooks group as asg1250e sag Generic BookTextView 38861 hf 0
  • PDO 和 Microsoft SQL:必须声明表变量“@P1”

    我正在尝试使用 PDO 中的绑定从 Microsoft SQL 数据库中选择一些条目 我正在使用的代码看起来与我在文档中找到的代码类似 但是 当我运行它时 我收到以下警告 警告 PDOStatement execute pdostateme
  • 从 blob 反序列化 java 对象

    首先 我很抱歉 我要问一些愚蠢的问题 我根本不懂java 也不知道我们是否可以问这样的问题 如果没有 删除我的主题 oracle中有一个存储blob的表 它是二进制的 我能够解码它 输出看起来像这样 sr com epam insure c
  • 从 Visual Studio 调试 SQL Server 2005 中的存储过程?

    我在这里和其他地方看到很多令人沮丧的问题 但没有明确的答案 我试图让存储过程进行调试 但没有成功 客户端 VS2005或VS2008 两者都不起作用 当我从存储过程上下文菜单中选择 步入存储过程 时 我在调试窗口中看到 已被用户取消 这就是
  • LINQ-to-SQL 是否支持组合查询?

    作为一名不懂 C 的程序员 我对 LINQ 查询的求值语义很好奇 如下所示 var people from p in Person where p age lt 18 select p var otherPeople from p in p
  • oracle中如何让null等于null

    我有一个变量被传递到我的存储过程 它是一个过滤器 基本上 但是 该字段有时可能为空 如果是 我希望能够检查该字段为空的行 例如 Table A VALUE COLUMN FILTER COLUMN A NULL B NULL C NULL
  • 如何在游标中使用嵌套表

    CREATE PROCEDURE p cur OUT a cur IS type rec is record a varchar2 2 b number c number type tab is table of rec tab1 tab
  • 通用 Oracle 数据收集存储

    我正在设计一个新的实验室数据库 我想将所有测试的原始结果存储在一起 在某些情况下 结果是单个值 然而 结果有时是原始波形或信号 下面哪种情况是理想的 以及为什么 或提供您自己的理想选择 选项 1 将每个单独的数据点存储为单独的结果行 距 t
  • 如何在 SQL 中编写 where 子句来按一天中的时间过滤 DATETIME 列?

    我有带有 DATETIME 列时间戳的数据 我想将其过滤到 DATETIME 介于上午 9 30 到下午 5 30 之间的任意一天的记录集 最好的方法是什么 更新 更改是因为我需要精确到分钟 而不仅仅是小时 对于那个很抱歉 您始终可以将其编
  • 左连接 SQL 求和

    我有两张桌子想要加入 比如说表 a 和表 b 表 b 有许多行指向表 a 表 b 包含价格 实际上是一个购物篮 所以我想要的是表a中的所有记录和表b中的价格之和 我努力了 select a sum b ach sell from booki
  • 更新查询时 ios 中出现“数据库锁定”错误

    我正在使用下面的代码更新查询 using sqlite 但我越来越 database is locked error 我尝试搜索一些 SO 链接 建议关闭数据库 但我再次执行此操作时遇到相同的错误 我已经提到过代码中出现错误的地方 cons
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N
  • 我的数据库有错误

    创建表时如下 create table Ticket ticket id integer not null primary key AirlineName varchar not null CustomerName varchar from

随机推荐

  • 当构造函数抛出异常时,会运行哪些析构函数?

    在 C 中 如果构造函数抛出异常 则运行哪些析构函数 特别是 如果异常发生在初始化列表或主体期间 有什么区别吗 另外 继承和成员呢 想必所有已完成的建筑都被毁坏了 如果只构造了一些成员 那么只有那些成员会被破坏吗 如果存在多重继承 所有完成
  • 使用 JavaMail 连接到 IMAP 时出现“A1 NO LOGIN failed”异常

    以下是我尝试连接的服务器的详细信息 mailbox password KexDa3P7hEtru mailbox domain mail lenderlive com mailbox host corp lcl mailbox userna
  • ElasticSearch:突出显示短语查询中的每个单词

    如何让 Elastic Search 只突出显示导致文档被返回的单词 我有以下索引 mappings document properties content type string fields english type string an
  • 如何从具有相对频率的表中绘制R中的饼图?

    我是 R 的新手 我需要绘制一个饼图 现在我已经尽力了 但它没有为我生成饼图 下面是我的代码 socialIssue lt matrix c 245 112 153 71 133 306 ncol 1 byrow T rownames so
  • 原因:java.security.UnrecoverableKeyException:无法恢复密钥

    我提供了一个名为 ABCC client store 的 jks 密钥库 当我将此密钥库导入到 cacerts 并尝试连接时 它显示 没有这样的算法 错误 PFA 堆栈跟踪 Caused by java security NoSuchAlg
  • 内联元素的填充

    我正在读一本关于 CSS 基础知识的书 书中声称内联元素具有完整的填充属性 但没有上边距 下边距属性 仅左 右边距特性 我的第一个问题是 我在哪里可以找到官方声明 我发现here如果上边距 下边距被设定为auto然后它被设置为0 但这和说的
  • 错误:没有名为 StatHline 的统计数据

    我有一个数据框如下 variable c D D C C C A B B B B value c 80 100 70 68 65 45 33 31 36 32 Count as integer c 5 10 4 5 2 7 3 5 6 2
  • Glide recyclerview 加载重复图像

    我有一个recyclerview with diffutil 我已经在使用Glide将图像加载到ImageViews on the onBindViewHolder我称我的函数为loadImage holder view item over
  • Tensorflow:确定预训练 CNN 模型的输出步幅

    我已经下载并正在使用以下方法实现一个机器学习应用程序Tensorflow Lite Posenet 模型 这个模型的输出是一个热图 这是我不熟悉的 CNN 的一部分 处理输出所需的一项信息是 输出步幅 它用于计算原始图像中找到的关键点的原始
  • 我们如何获取 12 小时格式的日期

    我希望如果用户从我的字符串设置中选择 24 小时 他们会得到 12 小时格式的时间 我正在使用这段代码 它没有显示正确的时间 timePicker datePickerMode UIDatePickerModeTime timePicker
  • 如何编写与集合完全匹配的 JPA 条件查询?

    我正在使用 JPA 2 0 和 Hibernate 4 1 0 Final 我有几个班级 小组和小组成员 每个 GroupMember 都绑定到一个用户对象 Entity Table name group public class Grou
  • 如何在绘图中使用自定义 png 图像标记?

    我想在散点图和折线图中使用客户标记 如何从 PNG 文件中制作自定义标记 我不相信 matplotlib 可以自定义这样的标记 看here对于定制级别 这远远达不到您的需求 作为替代方案 我已经编写了这个使用matplotlib image
  • 通过使用 Select 算法中的主元来重复

    我有一个问题 我无法获得该站点的 Select 算法的第 14 15 16 17 行的用途 有这个问题的网站位于here 编辑 此外 为该部分编写这些行是否正确 使用枢轴进行分区和重复 m 是我的主元 i 是该算法的输入 arrOne lt
  • 重复受限制的 DynamoDB 请求

    我正在使用适用于 PHP 的 AWS 开发工具包以编程方式与 DynamoDB 进行交互 我想检测对 DynamoDB 的请求是否已受到限制 以便在短暂延迟后可以发出另一个请求 现在 我假设限制请求未得到满足 亚马逊常见问题解答建议发生限流
  • Coldfusion CFMAIL 和 sendgrid

    我在我托管的同一台服务器上有 2 个客户端 它们都通过 sendgrid com 发送电子邮件 都有自己的帐户 我正在查看 sendgrid 上的报告 注意到 客户端 1 的类别显示在 客户端 2 的报告中 我花了很长时间与 sendgri
  • SOAPUI & Groovy Scripts,一次性执行多个 SQL 语句

    我有一些soapUI测试 它们使用groovy脚本首先将一些数据插入表中 以前 我一直使用以下代码片段来执行此操作 def conn context dbConnEtopup conn execute INSERT INTO A ID NA
  • 当 cron 运行时,shell 脚本中使用的环境变量在日志文件中显示为空白

    请原谅我的无知 但我对 shell 脚本和 Linux 中环境变量的使用有些陌生 我有一个执行 MySQL 数据库备份的脚本 我在脚本中有以下几行用于记录数据库的成功转储 output date echo Database export s
  • 从字符串中删除非字母数字字符(包括 ß、Ê 等)

    有没有一种简单的方法可以从 PHP 中的字符串中删除所有非字母数字字符 而不需要在正则表达式函数中单独列出它们 我一直在使用preg replace a zA Z0 9 s my string 在过去 但这会过滤掉重要的字符 例如 etc
  • 输入中出现意外字符:'\' (ASCII=92) state=1

    我的客户说他使用我的脚本遇到此错误 Warning Unexpected character in input ASCII 92 state 1 in path to header php on line 34 Parse error sy
  • PL/SQL 如何返回 ROW 中的所有属性

    我不知道如何使用 RETURNING 子句返回所有属性 我想要这样的东西 DECLARE v user USER ROWTYPE BEGIN INSERT INTO User VALUES 1 Bill QWERTY RETURNING I