我正在编写触发器,但遇到了一些问题。触发器执行并编译没有错误,但是由于某些原因,它没有完成我想要的工作。如果有人可以帮助我。
这是问题:
编写要在插入,更新属性时执行的触发器。输入的每个属性都将与其他具有相同属性的属性进行检查:代理,所有者,地址,如果找到一个,则将属性状态更新为“双重”。
我要插入相同的数据,但我可以这样做,但通常不会!
这是我的桌子:
create table Properties(
idProperties number(10) NOT NULL,
Type varchar2(45) NOT NULL,
SquareMeters varchar2(10) NOT NULL,
Rooms number(10) NOT NULL,
ConstructionDate date NOT NULL,
FloorLocation varchar(20),
Price number(10) NOT NULL,
CityView varchar2(20),
DateOfInsert date NOT NULL,
DateOfExiration date NOT NULL,
Address_FK number(20),
Service_FK number(20),
Ownership_FK number(20),
Status_FK number(20),
PropertyService_FK number(20))
create table Address(
idAddress number(10) NOT NULL,
address_name varchar2(20),
City_FK number(20))
create table OwnerAgent(
idOwnerAgent number(10) NOT NULL,
Name varchar2(50) NOT NULL,
LastName varchar2(50) NOT NULL, …Run Code Online (Sandbox Code Playgroud) 我想使用该AVG()函数来转动数据,但我想对结果进行舍入以防止重复显示小数.
当我尝试这样的事情时: PIVOT( ROUND( AVG(column_name), 2) FOR ...)
我收到一个错误: ORA-56902: expect aggregate function inside pivot operation
这是"在课程中注册的学生人数"的一个非常简单的例子:
CREATE TABLE TBL_EXAMPLE
(
enrolled NUMBER,
course VARCHAR2(50 CHAR)
);
INSERT INTO TBL_EXAMPLE (enrolled, course) VALUES (1, 'math');
INSERT INTO TBL_EXAMPLE (enrolled, course) VALUES (2, 'math');
INSERT INTO TBL_EXAMPLE (enrolled, course) VALUES (2, 'math');
INSERT INTO TBL_EXAMPLE (enrolled, course) VALUES (1, 'english');
INSERT INTO TBL_EXAMPLE (enrolled, course) VALUES (4, 'english');
SELECT *
FROM TBL_EXAMPLE
PIVOT ( AVG(enrolled) FOR course IN ('math', …Run Code Online (Sandbox Code Playgroud) 说你有
select '9|2|6|7|5' as somedata from dual
Run Code Online (Sandbox Code Playgroud)
有没有办法,我可以做以下事情:
select
in_string_sort('|', a.somedata)
from
(select '9|2|6|7|5' as somedata from dual) a
Run Code Online (Sandbox Code Playgroud)
结果会是'2|5|6|7|9'什么?
我知道,我可以使用一个函数来实现它,但这是如此基本我想知道Oracle是否会为这类事情提供一些内置函数.
[编辑]忘记提及:这将在Oracle 10gR2中.
要将旧的 VB.NET 应用程序从已弃用的System.Data.OracleClientMicrosoft 提供商转换为 ODP.NET Oracle.ManagedDataAccess.dll(版本 4.122.1.0),我想知道以下内容之间是否有区别:
Oracle.ManagedDataAccess.Client.OracleException.ErrorCode“获取错误的 HRESULT”
与
Oracle.ManagedDataAccess.Client.OracleException.Number“指定 Oracle 错误号”
旧代码引用了System.OracleClient.OracleException.Code当错误为“ORA-06550”时结果为 6550 的位置(注意:结果不是负数,例如 -6550)
只是想知道我将如何更改以下SQL,以便插入只发生在唯一的link_row实例上.因此,如果在seletc中拉回完全相同的值,我只想进行循环并第一次插入.
BEGIN
FOR LINK_ROW IN ( SELECT LINKTEXT, LINKURL, CORPID FROM LINKS )
LOOP
//Do insert here
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时,我在主键违规时会出现错误,因为同一项在循环内插入两次.
提前致谢