- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个插入和更新表的函数。调用它的来源:
select AGENTS_REGISTRATION() from dual;
或者:
declare
x NUMBER;
begin
select AGENTS_REGISTRATION() into x from dual;
end;
/
什么也不做。另一种形式进行了必要的更改:
declare
x NUMBER;
begin
x := AGENTS_REGISTRATION();
end;
/
前两个表达式有什么问题?
最佳答案
Oracle 不允许在查询中执行DML
操作。调用在查询中插入/更新/删除
数据的函数将引发:
ORA-14551: cannot perform a DML operation inside a query
如果异常
被困在函数内,查询不会引发错误 - 使用WHEN OTHERS
异常处理程序(或捕获ORA-14551
直接使用 pragma exception_init
),而不会重新引发错误,正如您在本例中看到的那样。
虽然我不建议这样做,但如果函数定义为自主事务
,则可以在查询中使用DML
操作(通过使用pragmaautonomous_transaction
) - 但这会导致更多问题。
解决方案是不要在查询中调用函数 - 这样做当然没有意义。
关于Oracle:从 "select from dual"调用函数不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46567956/
为什么下面的查询给出值 2 而不是我期望的 1? SELECT SUM(1) FROM ( SELECT '0' as R FROM dual UNION SELECT '1' as R FROM
我使用的是 Oracle 11g,并且我确实了解第 3 方授权的问题。 但是,假设 user1 创建了一个 View “view1”作为 Select 'foo' from Dual。 然后我将 vi
正常情况下(不使用SYS或可能使用它)- SQL> select * from dual; D - X 在不太正常的情况下(作为 SYS 连接)- SQL> alter database close;
如果表肯定是空的,我将使用此代码插入默认行。我试图扩展它以插入多行,但无法弄清楚语法: INSERT INTO myTable(`myCol`) SELECT 'myVal' FROM DUAL WH
当对 LE 设备使用 ScanCallback 时,我得到以下条件为真: bluetoothDevice.getType() == BluetoothDevice.DEVICE_TYPE_DUAL 设
zoom允许我们在实际定义了更多变量的上下文中使用仅使用某些状态变量的状态操作。 {-# LANGUAGE TemplateHaskell #-} import Control.Lens import
我需要加入从我的程序中动态检索的动态数字列表。行数不是固定的,使用的数字也不是固定的。 我没有找到比以下更好的方法来实现这一点(就我而言,临时表没有帮助): select 111 as col1, 3
我试图获取从上周到当前的日期,但似乎 或 >= 在这里不起作用。 WITH curr_cyc_dt AS ( SELECT BETWEEN TO_DATE ('20181228', 'yyyy
我想向数据库中插入一些数据。在插入的时候,我想先做一个判断:如果table1和table2中不存在title,则插入。这个双关语怎么写?这是正确的吗?或者……谢谢。 mysql_query(" INS
我有一个像这样的嵌套数组(只有一层深): $a = array( array( 1, 2, 3 ), array( 2, 4, 6 ), array( 5, 10, 15 ) ); 我
我们有三个redis服务器设置如下: Node1: Default Redis Master & Running Redis Sentinel Software Node2: Redis Slave
因此,A* 指针可以指向任何具有基 A 的对象,而 B* 指针可以指向任何具有基 B*。有没有办法创建一个只能指向以 A 和 B 为基础的对象的指针? 我还希望它是我可以存储为类成员的东西(也许是智能
双表用于选择伪列。 它有一行和一列 DUMMY,其值为 X。 我有两个问题 伪代码实际上做了什么 列是什么意思? 双重身份如何给予 值例如: select sysdate from dual 将导致当
我很惊讶这个问题还没有被问到。我一定错过了一些非常明显的东西,我已经准备好接受所有的反对票和 3 秒的回答。 在 MSSQL 中,您可以调用 GETDATE() 而不必依赖于数据库表,但在 Oracl
什么是“双生命”模块? perldelta for Perl 5.14 中有提到. 最佳答案 Dual Life 模块是存在于两个断开连接的源存储库中的模块,通常意味着在 Perl 核心(与 perl
不久前,我在使用jdbc插入/更新数百万条记录时遇到了数据库性能问题。为了提高性能,我更改了代码以使用batch。然后我决定使用 jprofiler 监控代码以了解性能提高了多少......但同时监控
我有一个插入和更新表的函数。调用它的来源: select AGENTS_REGISTRATION() from dual; 或者: declare x NUMBER; begin select
能给我一些类似的东西吗 SELECT (1, 2, 4542, 342) FROM DUAL; 然后像这样得到它? | 1 | | 2 | | 4542 | | 3
有没有办法在 Oracle 中创建/重新创建双表?它不小心掉了下来。 最佳答案 您可能应该联系 Oracle 支持。 你有备份吗?如果是这样,请从备份中恢复该表。否则(如果您不适合联系 Oracle)
Dual 是一个 newtype-wrapper,只是颠倒了 mappend 的顺序对于包裹类型的 Monoid实例: >>> "hello" <> " " <> "world" "hello wor
我是一名优秀的程序员,十分优秀!