我想选择具有特定时间间隔的行,但日期无关紧要.所以我需要一个函数来返回时间部分.我试过用:
to_char(mydate, 'HH12:MI:SS') between '00:00:00' and '08:00:00'
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.有任何想法吗?
即使在fruit_batch_info中没有记录,我也希望在我的结果中使用AP01,所以我正在使用左连接.
但是,只要我添加'where fruit_batch_info = 11',我的AP01就不再出现在我的结果中.
如何将AP01保留在我的结果中?
要求: 报告'all_fruits'中的所有记录以及有关'fruit_batch = 11'的任何信息
期望的结果
ID , DESC , BATCH, STORAGE
----- -------- ------ ------------
APO1, Apple , null , null
PE01, Pear , 11 , Warehouse-11
KU01, Kumquat, 11 , Warehouse-11
Run Code Online (Sandbox Code Playgroud)
这是我的查询:
with all_fruits as
(select 'AP01' as fruit_id, 'Apple' as fruit_desc from dual union all
select 'PE01' as fruit_id, 'Pear' as fruit_desc from dual union all
select 'KU01' as fruit_id, 'Kumquat' as fruit_desc from dual),
fruit_batch_info as
(select 'PE01' as fruit_id, '10' …
Run Code Online (Sandbox Code Playgroud) 我有两个oracle用户:User1和User2.
我正在尝试在两个表之间创建一个外键约束,如下所示:
ALTER TABLE "User2"."TESTTABLE" ADD CONSTRAINT "TESTTABLE_CREATEDBY"
FOREIGN KEY (CREATEDBY) REFERENCES "User1"."USERS_" (ID) ENABLE
Run Code Online (Sandbox Code Playgroud)
User2有权在User1表上选择Users_(Grant select to user2 on Users_
)
运行alter table语句时出现错误:权限不足.
有谁知道如何解决这个问题?
干杯,
有什么方法可以更改某些特定页面的重定向,而不是直接转到主页?我试图创建一个分支,但这不起作用,有时我会冷处理分支,但如果我这样做,他会忽略我的登录模式。
有谁知道为什么这个查询语句在此查询上运行得很好,但是当我在同一个查询语句前添加cte时,会出现此错误:
SQL错误:ORA-00957:列名重复)
CREATE TABLE t1 AS
SELECT *
FROM NS_F3
LEFT JOIN NS_FA2
ON NS_F3.PI_CANDIDATE_NUM = NS_FA2.PI_CANDIDATE_NUM
WHERE REGEXP_LIKE(NS_F3.TITLE, 'intern($|ship|[^a-z])', 'i');
Run Code Online (Sandbox Code Playgroud) 应用程序中有一些页面已被删除(我不知道页码)。如何在应用程序中找到引用那些丢失或删除的页面的页面?
我试图在一个字符串中提取不同的子字符串。我希望每个字符串都用破折号(-)除以不同的字符串。
我尝试使用SUBSTR位置函数。它不起作用,因为有时第二个子字符串中有4个字符,因此,第三个子字符串不正确。
SELECT SUBSTR(STR, INSTR (STR, '-', -1)+ 1)
STR = F-123-A123-B12 or F-1234-A123-B12
Run Code Online (Sandbox Code Playgroud)
我当时在想可以使用正则表达式函数。我找不到一个。
如果我使用相同的 cod_regista 插入多于一行,它会创建重复项,我该如何消除它们?每个值我只需要一个记录
CREATE OR REPLACE TRIGGER piazzetta_trg
BEFORE INSERT OR UPDATE
ON regia_piazzetta
FOR EACH ROW
BEGIN
IF INSERTING THEN
FOR a IN(SELECT cod_regista, SUM(costo_produzione) as tot
FROM regia_piazzetta
GROUP BY cod_regista)
LOOP
INSERT INTO piazzetta_tot VALUES (a.cod_regista, a.tot);
END LOOP;
UPDATE piazzetta_tot SET costo_totale = costo_totale + :new.costo_produzione WHERE piazzetta_tot.id_regista = :new.cod_regista;
END IF;
IF UPDATING THEN
UPDATE piazzetta_tot SET costo_totale = costo_totale+(:new.costo_produzione - :old.costo_produzione) WHERE piazzetta_tot.id_regista = :new.cod_regista;
END IF;
END;
Run Code Online (Sandbox Code Playgroud) 我只是想知道是否有任何标准表,我们可以根据日期和时间在其中查看哪个用户访问了 Oracle APEX 中的哪个报告。基本上是审计历史?
我可以通过在自定义表中插入所需的数据来做到这一点,但是,有没有标准方法可以让我们拥有所有这些信息?
问候,
阿卜哈
我们有一个 sql 性能不佳。我已经修复了执行计划,但 REGEXP_LIKE 导致高缓冲区获取,并且还在运行时做出贡献。我可以在 sql 中使用的任何替代方案。问题是 AND REGEXP_LIKE (xx3la. assembly_type, '^I ..*')
/* Formatted on 1/6/2023 2:07:28 PM (QP5 v5.318) */
SELECT 1
FROM apps.oe_order_lines_all ola
JOIN APPS.OE_order_headers_all oh
ON oh.Header_Id = ola.header_id AND oh.org_id = ola.org_id
JOIN inv.mtl_parameters org
ON ola.ship_from_org_id = org.ORGANIZATION_ID
INNER JOIN ont.oe_transaction_types_tl tt
ON tt.transaction_type_id = oh.order_type_id
AND tt.language = 'US'
AND LPAD (UPPER (tt.name), 4) NOT IN ('TRIA',
'WARR',
'REPA',
'DUMM',
'DEMO',
'GOOD',
'INTE',
'CRED',
'EVAL',
'INVO') --- ('STAND')
JOIN apps.mtl_system_items_b msib
ON …
Run Code Online (Sandbox Code Playgroud)