ORA-30654: 'missing DEFAULT keyword' in the recursive subquery factoring
The subquery recursive factoring works without clause CYCLE and cycle only.
When I have a cycle (uncomment SELECT 5, 2 double UNON ALL) ORACLE detects the cycle properly, but when I include the clause CYCLE I get ORA-30654.
I'm pretty shure that this statement already worked in my DB (11.2.0.3.0 - 64 bit)
CREATE TABLE temp_rsq (a,b) AS SELECT 1, 2 FROM dual UNION ALL SELECT 2, 3 FROM dual UNION ALL SELECT 3, 4 FROM dual UNION ALL SELECT 4, 5 FROM dual UNION ALL --SELECT 5, 2 FROM dual UNION ALL SELECT 5, 6 FROM dual UNION ALL SELECT 6, 7 FROM dual; -- -- -- b-> new A WITH cte ( pb, a, b, weg) AS (SELECT NULL, a, b, a FROM temp_rsq WHERE a=1 UNION ALL SELECT cte.b, n.a a, n.b, weg+n.a FROM temp_rsq n JOIN cte ON (cte.b=n.a)) SEARCH depth FIRST BY a SET abst --CYCLE a SET is_cycle to '1' DEFAULT '0' SELECT * FROM cte;
Found last al:
It does not with cusor_sharing = FORCE, only with the cursor sharing = TRUE!
For me, a very strange behavior.
Tags: Database
Similar Questions
-
The recursive subquery factoring vs hierarchical query
Experts,
Here it is two queries, I'm executing using hierarchical of recursive subquery and new classical approach. Problem came out was different for the recursive subquery factoring, as this is not displayed parent-child approach, while forwards connect shows parent-child mode. Query 1, I use hierarchical as show good output parent-child, is approaching the 2 query displays all of the nodes of level 1 and then level 2 nodes. I want the query 2 output to be the same as query 1. change query 2 as required.
Note: the output of the two queries post as in sqlplus and toad. Please copy and use in your command prompt.
QUERY 1:
with the hand in the form (select 1 id, name 'John', null, mgrid Union double all the)
Select 2 id, the name of 'michael', null, mgrid Union double all the
Select 3 id, the name of "peter", null, mgrid Union double all the
Select 4 id, the name of "henry", 1 mgrid Union double all the
Select 5 id, "nickname", mgrid 2 Union double all the
Select 6 id, "pao" name, mgrid 3 of all the double union
Select 7 id, the name of 'kumar', mgrid 3 of all the double union
Select 8 id, the name 'parker', mgrid 3 of all the double union
Select 9 id, the name of "mike", 5 double mgrid),
Select lpad (' ', 2 *(level-1)). name, key start with mgrid level is null connect by prior id = mgrid.
OUTPUT:
LEVEL NAME
------------------------------ ----------
John 1
Henry 2
Michael 1
Nick 2
Mike 3
Stone 1
PAO 2
Kumar 2
Parker 2
9 selected lines.
QUERY 2:
with the hand in the form (select 1 id, name 'John', null, mgrid Union double all the)
Select 2 id, the name of 'michael', null, mgrid Union double all the
Select 3 id, the name of "peter", null, mgrid Union double all the
Select 4 id, the name of "henry", 1 mgrid Union double all the
Select 5 id, "nickname", mgrid 2 Union double all the
Select 6 id, "pao" name, mgrid 3 of all the double union
Select 7 id, the name of 'kumar', mgrid 3 of all the double union
Select 8 id, the name 'parker', mgrid 3 of all the double union
Select 9 id, the name of "mike", 5 double mgrid),
/ * Select lpad (' ', 2 *(level-1)). name, key start with mgrid level is null connect by prior id = mgrid. * /
secmain (id, name, mgrid, hierlevel) as (select id, name, mgrid, 1 hierlevel of the main where mgrid is null
Union of all the
Select m.id, $m.name, m.mgrid, sm.hierlevel + 1 in m main join secmain sm on(m.mgrid=sm.id))
cycle is_cycle set id 1 default 0
Select lpad (' ', 2 *(hierlevel-1)). name, secmain hierlevel.
OUTPUT:
NAME HIERLEVEL
------------------------------ ----------
John 1
Michael 1
Stone 1
Henry 2
Nick 2
Parker 2
Kumar 2
PAO 2
Mike 3
9 selected lines.For example
SQL> with main as(select 1 id,'john' name,null mgrid from dual union all 2 select 2 id,'michael' name,null mgrid from dual union all 3 select 3 id,'peter' name,null mgrid from dual union all 4 select 4 id,'henry' name,1 mgrid from dual union all 5 select 5 id,'nick' name,2 mgrid from dual union all 6 select 6 id,'pao' name,3 mgrid from dual union all 7 select 7 id,'kumar' name,3 mgrid from dual union all 8 select 8 id,'parker' name,3 mgrid from dual union all 9 select 9 id,'mike' name,5 mgrid from dual), 10 secmain (id,name,mgrid,hierlevel) as 11 (select id,name,mgrid,1 hierlevel from main 12 where mgrid is null 13 union all 14 select m.id,m.name,m.mgrid,sm.hierlevel+1 from main m join secmain sm on(m.mgrid=sm.id)) 15 search depth first by name set seq 16 cycle id set is_cycle to 1 default 0 17 select lpad(' ',2*(hierlevel-1))||name name,hierlevel from secmain order by seq; NAME HIERLEVEL ---------- ---------- john 1 henry 2 michael 1 nick 2 mike 3 peter 1 kumar 2 pao 2 parker 2 9 rows selected. SQL>
Published by: Dom Brooks on November 23, 2011 13:52
Edited for the scope of the search and detection of cycle -
Identify cycles recursive subquery factoring (RSF/CTE)
It is possible to detect cycles AFTER executing a recursive factoring subquery with the cycle_clause.
I need to detect already in the query, similar to the virtual CONNECT_BY_ISCYCLE in a hierarchical query.
Here is a test case of the use of factoring of the recursive subquery (RSF) to the algorithm of Dijkstra shortest Implement path?.
DROP TABLE edges;
CREATE TABLE edges (char (1) src, dst char (1), distance, NUMBER (3, 0));
DROP TABLE nodes.
CREATE TABLE nodes (nodes CHAR (1));
-INSERTION in the edges
-normal direction
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('A', '' B, 2');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('A', 'C', '4');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('A' 'd', '3' ");
INSERT INTO edges (SRC, DST, DISTANCE) VALUES (' B', 'E', 7' ");
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ("C", "E", "3");
INSERT INTO edges (SRC, DST, DISTANCE) VALUES (', 'E', '4');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES (' B', 'F', 4' ");
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('C', 'F', "2");
INSERT INTO edges (SRC, DST, DISTANCE) VALUES (', 'F', '1');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES (' B', 'G', 6' ");
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('C', 'G', "4");
INSERT INTO edges (SRC, DST, DISTANCE) VALUES (', 'G', '5');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('E', 'H', '1');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('F', 'H', '6');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('G', 'H', '3');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('E', 'I', '4');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('F', 'I', '3');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('G', 'I', '3');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('H', 'J', '3');
INSERT INTO edges (SRC, DST, DISTANCE) VALUES ('I', 'J', '4');
-inversion
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('A', '' B, 2');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('A', 'C', '4');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('A' 'd', '3' ");
INSERT INTO edges (DST, SRC, DISTANCE) VALUES (' B', 'E', 7' ");
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ("C", "E", "3");
INSERT INTO edges (DST, SRC, DISTANCE) VALUES (', 'E', '4');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES (' B', 'F', 4' ");
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('C', 'F', "2");
INSERT INTO edges (DST, SRC, DISTANCE) VALUES (', 'F', '1');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES (' B', 'G', 6' ");
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('C', 'G', "4");
INSERT INTO edges (DST, SRC, DISTANCE) VALUES (', 'G', '5');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('E', 'H', '1');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('F', 'H', '6');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('G', 'H', '3');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('E', 'I', '4');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('F', 'I', '3');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('G', 'I', '3');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('H', 'J', '3');
INSERT INTO edges (DST, SRC, DISTANCE) VALUES ('I', 'J', '4');
-SELECT the recursive subquery factoring (RSF) / Common Table Expressions (CTE)
-INCLUDE the starting point of Sub
WITH the railways (root, src, dst, path, distance, cost, lev, iscyc) AS
(SELECT 'A', NULL, 'A', 'A', 0, 0, 1, 0
OF the double
UNION ALL
SELECT p.root,
e.SRC,
e.DST,
p.Path | ',' || e.DST,
e.distance,
p.cost + e.distance,
p.Lev + 1,
-good idea?
p.iscyc
RAILWAYS p
JOIN the edges e WE (e.src = p.dst)
AND lev + 1 < = 3
)
Lev RESEARCH FIRST WIDTH, cost line_no SET
CYCLE of dst SET is_cycle to 1 by DEFAULT 0
SELECT *.
TRAIL pr
WHERE 1 = 1
- AND is_cycle = 0
- AND DST = 'J '.
ORDER BY lev;
DISTANCE FROM ROOT SRC DST LEV ISCY LINE_NO IS_CYCLE COST PATH
-------------------------------------------------------------------
A A A 0 0 1 0 1 0
A A D A,D 3 3 2 0 3 0
A A B A,B 2 2 2 0 2 0
A A C A,C 4 4 2 0 4 0
A C F A,C,F 2 6 3 0 9 0
A E C E A, C, 3 7 3 0 10 0
AN E D A, D, E 4 7 3 0 11 0
B G G, B, 6 8 3 0 12 0
A C AN A, C, 4 8 3 0 13 1
A D G, D, G 5 8 3 0 14 0
G C G, C, 4 8 3 0 15 0
B E A, B, E 7 9 3 0 16 0
A B F A,B,F 4 6 3 0 7 0
A B A A,B,A 2 4 3 0 6 1
A D F A,D,F 1 4 3 0 5 0
A D A A,D,A 3 6 3 0 8 1
There is a powerful way to fill the column ISCY, while the recursion like the IS_CYCLE column?
I tried the table nested in CTE before but had a few questions. The code below works in 11g but not 12 c:
create or replace type nt_char in the table to the varchar2 (20);
/
WITH the railways (root, src, dst, path, distance, cost, lev, iscyc) AS
(SELECT 'A', NULL, 'A', CAST (nt_char ('A') AS nt_char), 0, 0, 1, 0)
OF the double
UNION ALL
SELECT p.root,
e.SRC,
e.DST,
nt_char (e.dst) MULTISET UNION ALL p.Path,
e.distance,
p.cost + e.distance,
p.Lev + 1,
CASE WHEN e.dst MEMBER OF p.path, 1 ELSE 0 END AS iscyc
RAILWAYS p
JOIN the edges e WE (e.src = p.dst)
AND lev + 1<>
)
Lev RESEARCH FIRST WIDTH, cost line_no SET
CYCLE of dst SET is_cycle to 1 by DEFAULT 0
SELECT *.
TRAIL pr
WHERE 1 = 1
- AND is_cycle = 0
- AND DST = 'J '.
ORDER BY lev;
-
ORA 00928: missing Select keyword.
Hi all
I get an error when executing the following command
Sélectionnez a.cost_price,d.pvms_no,d.nomenclature,a.item_id,a.stock_id,a.closing_stock comme stock_qty,a.closing_stock*a.cost_price comme valeur, (a.closing_stock*a.cost_price) * 100 comme per,SUM((b.closing_stock*b.cost_price)*100) comme cum de store_item_batch_stock a, store_item_batch_stock b, mas_store_item d où a.item_id=d.item_id et a.cost_price > = b.cost_price GROUP BY a.cost_price union
*
ERROR on line 1:
ORA-00928: lack of SELECT keywordthe clause "group by" must have more values, all the columns that are not in Group functions:
http://docs.Oracle.com/CD/E17952_01/refman-5.1-en/group-by-functions.htmlselect a.cost_price, d.pvms_no, d.nomenclature, a.item_id, a.stock_id, a.closing_stock as stock_qty, a.closing_stock*a.cost_price as value, (a.closing_stock*a.cost_price)*100 as per, SUM((b.closing_stock*b.cost_price)*100) as dum from store_item_batch_stock a, store_item_batch_stock b, mas_store_item d where a.item_id=d.item_id and a.cost_price >= b.cost_price GROUP BY a.cost_price, d.pvms_no, d.nomenclature, a.item_id, a.stock_id, a.closing_stock
-
Recursive subquery factoring: calculate aggregates
Table T represents a tree. Each record is a node, and each node has only one parent. This query calculates the SUM() of each branch for each node.
WITH T AS (SELECT 1 ID, NULL parent_id, NULL VALUE FROM dual UNION ALL SELECT 10 ID, 1 parent_id, 1000 VALUE FROM dual UNION ALL SELECT 20 ID, 1 parent_id, 2000 VALUE FROM dual UNION ALL SELECT 30 ID, 10 parent_id, 3000 VALUE FROM dual UNION ALL SELECT 40 ID, 10 parent_id, 4000 VALUE FROM dual UNION ALL SELECT 50 ID, 20 parent_id, 5000 VALUE FROM dual UNION ALL SELECT 60 ID, 1 parent_id, 6000 VALUE FROM dual UNION ALL SELECT 70 ID, 60 parent_id, 7000 VALUE FROM dual UNION ALL SELECT 80 ID, 70 parent_id, 8000 VALUE FROM dual ) SELECT CAST(LPAD(' ', (LEVEL-1)*4) || ID AS VARCHAR2(20)) id ,VALUE self_value , (SELECT SUM (VALUE) FROM T t2 CONNECT BY PRIOR t2.ID = t2.parent_id START WITH ID = T.ID) branch_value FROM T CONNECT BY PRIOR t.id = t.parent_id START WITH t.parent_id IS NULL ORDER SIBLINGS BY t.id; ID SELF_VALUE BRANCH_VALUE -------------------- ---------- ------------ 1 36000 10 1000 8000 30 3000 3000 40 4000 4000 20 2000 7000 50 5000 5000 60 6000 21000 70 7000 15000 80 8000 8000 9 rows selected.
I tried to reach the same result of this query using the new syntax for subquery factoring. Any help would be really appreciated!
Hello
I think it's one of those things that CONNECT BY is better.
Here's a way to do it using a recursive clause (AND not CONNECT BY):
WITH recursive_results (ancestor_id, descendant_id, value, lvl, lineage) AS
(
SELECT id AS ancestor_id
id LIKE descendant_id
value
, 1 AS lvl
, TO_CHAR (id, "9999") AS line
T
UNION ALL
SELECT r.ancestor_id
t.id AS descendant_id
t.valeur
r.lvl + 1 AS lvl
r.lineage | ' /'
|| To_char (t.id, '9999') AS line
T
JOIN recursive_results r WE t.parent_id = r.descendant_id
)
SELECT LPAD (' ' ')
, 4 * (
SELECT MAX (lvl) - 1
OF recursive_results
WHERE descendant_id = m.ancestor_id
)
) || ancestor_id AS indented_id
SUM (CASE WHEN ancestor_id = descendant_id THEN value END) AS self_value
The amount (value) AS branch_value
OF recursive_results m
GROUP BY ancestor_id
ORDER BY)
SELECT MAX (lineage) DUNGEON (DENSE_RANK LAST ORDER BY lvl)
OF recursive_results
WHERE descendant_id = m.ancestor_id
)
;
Output (even you have):
INDENTED_ID SELF_VALUE BRANCH_VALUE
-------------------- ---------- ------------
1 36000
10-1000-8000
30 3000 3000
40 4000 4000
20-2000-7000
50 5000 5000
60 6000 21000
70-7000-15000
80-8000-8000
-
ORA-00928: lack of keyword SELECT when you create a trigger
Hello
I am trying to create a trigger that is simple for the purpose of verification as below:
This compiles with warning. When I check the warning, he said:CREATE OR REPLACE TRIGGER customer_audit before insert or update or delete on CUSTOMER for each row BEGIN if :old.cname is null and :new.cname is not null or :old.cname is not null and :new.cname is null or :old.cname != :new.cname THEN INSERT INTO audit_table (:old.cname, :new.cname, null, 'cname'); COMMIT; ENDIF; end;
Do not know how to SELECT is part of what I'm trying to do here, or miss me something of totally. Help, please. Thank you very much.TRIGGER customer_audit compiled Warning: execution completed with warning 3/32 PL/SQL: ORA-00928: missing SELECT keyword 3/7 PL/SQL: SQL Statement ignored
Change ENDIF; in END IF; and try again...
-
I'm trying to learn more about the recursive subquery, but I'm stuck with this one. For each word, recursively remove 1, 2, 3... n characters of the word for all possible combinations. The word length is variable. For example, would be the expected result for the words 'abcd' and '123'. A PLSQL solution would be better?
ABCD:
1 deleted character: bcd, CDA, abd, abc
2 deleted characters: cd, bd, BC., ad, ac, ab
3 characters deleted: d, c, b, a
4 removed characters: null
123:
1 deleted character: 12, 13 and 23
2 deleted characters: 1, 2, and 3
3 deleted characters: null
Hello
Here's a solution that makes everything you asked for, including characters removed (in order or appearance).
As I used SYS_CONNECT_BY_PATH for a concatenated string of all of the included characters, so I used SYS_CONNECT_BY_PATH for a concatenated string of all characters between those included.
WITH single_characters (c, n word) AS
(
SELECT Word
, NULL AS c
, 1 AS n
The CBC
UNION ALL
SELECT Word
SUBSTR (word, n - 1) c
, n + 1 AS n
OF single_characters
WHERE n<= length="">=>
)
SELECT Word
REPLACE (SYS_CONNECT_BY_PATH (c, "ab")
, 'ab '.
) AS comb
LENGTH (word) + 1 - LEVEL AS num_removed
REPLACE (SYS_CONNECT_BY_PATH (SUBSTR (Word
N ADVANCE
, n - (n + 1 PREREQUISITE)
)
, "ba".
)
, "ba".
) || SUBSTR (Word, n) AS deleted
OF single_characters
START WITH n = 1
CONNECT BY NOCYCLE Word = Word PREREQUISITE
AND n > PREREQUISITE n
AND LEVEL<= length="">=>
ORDER BY word
LEVEL DESC
deleted
;
Output:
NUM_REMOVED DELETED WORD COMB
---------- ---------- ----------- -------
123 23 1 1
123 13 1 2
123 12 1 3
123 3 2 12
123 2 2 13
123 1 2 23
123 3 123
ABCD bcd 1A
ABCD DCO 1 b
Abu abd 1 c
ABCD abc 1 d
AB cd 2 ABCD
ABCD 2 ac comics
ABCD BC 2
ABCD ad 2 BC.
ABCD ac 2 bd
ABCD ab 2 cd
ABCD d 3 abc
ABCD c 3 abd
ABCD b 3 CDA
ABCD has 3 bcd
ABCD ABCD 4
lee le 1 e
lee le 1 e
lee ee 1 l
lee l 2 ee
lee e 2 le
lee e 2 le
lee 3 lee
With the exception of the order of the rows in the result, it's exactly what you asked in response #2.
If the order of the rows is important, I'm sure we can get it exactly as you wish; just explain exactly how it needs to be sorted.
-
I have a table with ID of origin and destination.
There may be a dynamic number of connections (wait is no more than 5) and the relationship is still one by one: A-> B-> C-> D
A or B or C or D can only apear in a relationship, this average-> C does not already connected to B e because.
I want to create one interviewed who receives the last values of destination and a column with the original values that are associated with this return value:
for example:
If my parameter value is D, my result will be a column of three lines: A, B, C
If my parameter value is C, my result will be a column with two lines: A, B
example:
I tried to conect by front and connect as root but could not achieve.create table test_list as ( select 32000 origin, 68200 destination from dual union all select 60000 origin, 168200 destination from dual union all select 8200 origin, 36600 destination from dual union all select 36600 origin, 8400 destination from dual union all select 8400 origin, 61800 destination from dual )
found also some articles on 'Recursive subquery factoring' but it got even worse because I couldn't make it work.
My database is 'Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64 bit Production'
So in my list:SELECT origin from test_list where origin in (select * FROM ( SELECT CONNECT_BY_ROOT destination FROM test_list CONNECT BY PRIOR origin = destination and destination =68200 ) )
32000 connects to 68200
60000 connects to 168200
8200 connects to 36600
36600 connects to 8400
8400 connects to 61800
My results are expected:
If the parameter 'VALUE_TO_SEARCH' = 68200 I wait only: 32000
If the parameter 'VALUE_TO_SEARCH' = 168200 I wait only: 60000
If the parameter 'VALUE_TO_SEARCH' = 61800 I expect: 8400,36600,8200
If the "VALUE_TO_SEARCH" parameter = 32000 I expect any results.
What would be the best method to use for optimal performance and cash is with the CONNECT_BY_ROOT and "Se CONNECT BY FRONT" that I am I did wrong here?
Best regards
Ricardo TomasHello
With the help of a WITH recursive clause:
VARIABLE value_to_search NUMBER EXEC :value_to_search := 168200; EXEC :value_to_search := 61800; -- Only the last one above matters WITH tree_results (origin, given_destination) AS ( SELECT origin, destination FROM test_list WHERE destination = :value_to_search UNION ALL SELECT t.origin , r.given_destination FROM test_list t JOIN tree_results r ON r.origin = t.destination ) SELECT * FROM tree_results ;
-
Hi all
I have create report sql in version 4.2, and now we have apex version 5.0 upgrade.
I encountered error when I change the State of sql
The error massage:
Query cannot be parsed in the generator. If you believe that your query is syntactically correct, check the generic "columns" box below the source of the region without analysis. ORA-00905: lack of keyword
My SQL
SELECT VW.*
, CASE WHEN (VW.file_code is null
OR VW.cancel_flg = 'Y'
OR (TOUR_DEP_DATE + GET_FILE_LOCKING_DAYS (VW. (SBU_CODE) < = trunc (sysdate))
) THEN
' < font color = "Red" > < b > other < /b > < / police > '
ON THE OTHER
"< a href =" f? p = & APP_ID.:51: & SESSION. : O PR: & DEBUG. : 51:P51_FILE_CODE, P51_COSTING_CODE, P51_TOUR_REG_NO, P51_VERSION_NO, P51_REQUEST, P51_AGENT_NAME, P51_ADULTS, P51_CHILDS, P51_MKT_CODE, P51_QUOT_CURR:'
|| FILE_CODE | «, » || COSTING_CODE | «, » || TOUR_REG_NO | «, » || VERSION_NO | «, » ||' OPR' | «, » || AGENT_CODE | «, » || VW. FROM_PAX | «, » || 0||','|| VW.mkt_code | ',' | VW. QUOT_CURR |': ' > < font color = blue > < b > other < /b > < / police > '. "
END as "other Actions".
, CASE WHEN ((VW.file_code is not null AND TOUR_DEP_DATE + GET_FILE_LOCKING_DAYS (VW. (SBU_CODE) < = TRUNC (SYSDATE))
OR cancel_flg = 'Y '.
OR (VW. REF_COSTING_CODE = VW. ADDL_FIELD2 AND VW. ADDL_FIELD1 LIKE '% COPIED FROM % OF APPROVAL'
AND BOOKING_NAME LIKE "%-Backup")
) THEN
' < font color = "Red" > < b > edit < /b > < / police > '
ON THE OTHER
"< a href =" f? p = & APP_ID.:149: & SESSION. : & DEBUG. : 149:P149_COSTING_CODE:'
|| COSTING_CODE |': ' > < font color = blue > < b > edit < /b > < / police > '. "
END AS 'Edit '.
, CASE WHEN (Nvl (cancel_flg, 'n') = 'Y')
)
THEN
' < font color = "Red" > < b > add < /b > < / police > '
ON THE OTHER
"< a href =" f? p = & APP_ID.:33: & SESSION. : & DEBUG. : 33:P33_COSTING_CODE, P33_FILE_CODE, P33_MKT_CODE, P33_QUOT_CURR, P33_NO_OF_ADULT, P33_NO_OF_CHILD:'
|| COSTING_CODE | «, » || file_code | «, » || VW.mkt_code | ',' | VW. QUOT_CURR | «, » || VW. FROM_PAX | «, » || 0 | ': "> < font color = blue > < b > add < /b > < / police > '
END as 'Services '.
OF TOUR_MAS_VW VW
How to solve it.
Thank you
Dear friends
Thanks for your helping hands.
I found the solution for this. We can solve this problem by using these solutions
- A region of HTML:
click me
- Using PL/SQL:
htf.anchor('f?p=100:5:'||V('APP_SESSION'),'click me');
- Using a SQL query: SELECT htf.anchor('f?p=100:5:'||:APP_SESSION,'clickme') FROM DUAL;
We can write the query in the form
SELECT ' f? p = 100: 1 :'|| : APP_SESSION |': ' | : APP_UNIQUE_PAGE_ID |
': P1_EMPNO :'|| employe_id,
first name,
job_id
Employees
Thank you & best regards
CORINE
- A region of HTML:
-
Eclipse does not recognize "The default keyword" and "Lamda expression."
Hi guys, I just started to learn Java, so I don't know much. I have a very annoying problem with Eclipse (I have the latest version installed). For some reason, whenever I use the "default" keyword in an interface, it gives me an error similar to "Default token syntax error", I deleted the "default" keyword, the error disappeared. The same with 'Lamda Expression' as well, I have this object as this Actions myActions =-> () {System.out.print ("Blah blah blah") ;};} , Eclipse also displays the error message similar to "the body of the method expected after (), delete"->" I checked the version of Java that I have, it is also the most recent, I don't know what it is bad here, any suggestions are greatly appreciated. I thank very you much for your time and your help.
It happened because I used the line tool of command rather than running using Eclipse. The two image links show errors in Eclipse.
No - it happened for the reasons that I said:
Where variable number IS called 'AnimalName' in this interface - that's the problem: not the word "default".
You can not refer to objects that do not exist.
This interface code will not compile from the command line or from an IDE, because it contains ERRORS.
public interface Actions {}
void Breathe();
default void run() {}
System.out.println ("can run 10 miles without stopping!" + AnimalName);
}
}
Where do you want that Java to get the value of "AnimalName" of? It does not exist anywhere. You set in another class as follows:
public String AnimalName;
This means that it is a variable "instance". Impossible to refer to instance except as part of an "instance" variables The interface has NO instance of the Animal.
-
My previous version of items had a default button on the right of tool shear under the buttons OK and cancel.
But my new 14 elements on Windows 10 has no such button and shear deformations can be reset to a straight by
any method I've tried. It only resets if I walked out of the elements. Just close the current project and open a new one does not reset it.
Is this a bug or am I missing something?
Press the Alt key to change the button Cancel to reset
(last setting used)
Press the Ctrl key to change the default Cancel button
(the default setting of a straight line)
-
ORA-01937 missing or invalid role name
Hi there, I had a little problem with a small piece of code am familiar with Oracle database, scripts I have been done by another person for the version 6/7 is currently using version 8i for reasons of compatibley with the server software, I am currently setting up.
use the script generates the following error message
Enter the value of old 1: 1: CREATE ROLE & 1._role
new 1:
CREATE ROLE GRANT CONNECT to & 1._role; _role CREATE ROLE GRANT CONNECT to & 1._role; _role
*
ERROR on line 1:
ORA-01937: missing or not a valid role name
Enter the value of old 1: 1: GRANT RESOURCE TO & 1._role
new 1: GRANT RESOURCE to GRANT permission TO & 1._role; _role
RESOURCE of GRANT OF GRANT permission to & 1._role; _role
*
ERROR on line 1:
ORA-00911: invalid character
Enter the value of old 1: 1: GRANT IMP_FULL_DATABASE TO & 1._role
new 1: GIVE the IMP_FULL_DATABASE TO GRANT CREATE ANY SYNONYM OF & 1._role; _role
GRANT IMP_FULL_DATABASE to GRANT CREATE ANY SYNONYM OF & 1._role; _role
*
ERROR on line 1:
ORA-00911: invalid character
Enter the value of old 1: 1: GRANT DROP ANY SYNONYM to & 1._role
new 1: GRANT DROP ALL SYNONYM of _role
GRANT DELETE ANY SYNONYM OF _role
*
ERROR on line 1:
ORA-00911: invalid character
Enter the value 1: enter the value of 2: 1 old: CREATE USER, IDENTIFIED BY 1 & 2
new 1: CREATE a USER IDENTIFIED BY GRANT & 1._role to & 1.
CREATE the USER IDENTIFIED BY GRANT & 1._role to & 1.
*
ERROR on line 1:
ORA-01935: lack of user name or role
Here is the code used
USE of REM: @ous < username > < PASSWORD >
REM create a < username > identified by < PASSWORD >
CREATE a ROLE & 1._role;
GRANT CONNECT to & 1._role;
GRANT RESOURCE to & 1._role;
GRANT permission to & 1._role;
GRANT IMP_FULL_DATABASE to & 1._role;
GRANT CREATE ANY SYNONYM OF & 1._role;
GRANT DROP ANY SYNONYM OF & 1._role;
CREATE a USER & 1 IDENTIFIED BY & 2
QUOTA UNLIMITED ON gam_lgtab
QUOTA UNLIMITED ON gam_bintab
QUOTA UNLIMITED ON gam_tab
QUOTA UNLIMITED ON gam_ind
TEMPORARY TABLESPACE temp;
GRANT & 1._role to & 1.
can someone help me to solve this thanks, that a working example would be due to my lack of knowledge with this database system.
Thank you very much
Hello
How do you call this script?
According to the commentary at the beginning of the script, this is:
USE of REM: @ous
you're supposed to give 2 arguments after the name of the script (which, apparently, is UO). The first argument is a user name; so it should follow the rules for user names (for example it must start with a letter and only contain letters, numbers, or a couple of other characters, such as the features of underscore allowed). The second argument is the password. So if you want to create a user called FOO and give him the password to BAR987, then we could say
@ous FOO BAR987
SQL * more ' SQL > "command prompt, or to the equivalent point in another front-end tools.»
This assumes that the ous.sql script is the default location. If you don't know what it is, you can always give the name of full path, like this:
@d:\my_directory\sql_stuff\creation_scripts\ous FOO BAR987
The script creates a different role for each user, it creates. This isn't a very common practice. Out of context, I can't say for sure if it's a very bad idea, but we can't if abstain I was wondering if based on such an unusual with these old tools is best for your needs.
-
DBMS_ADVANCED_REQRITE get ORA-00905: lack of keyword
What I'm doing wrong here?
Thank you17:17:29 NJ3417@pubd1> create table test_a (col_a varchar2(20)); Table created. Elapsed: 00:00:00.04 17:17:55 NJ3417@pubd1> insert into test_a values('Red'); 1 row created. Elapsed: 00:00:00.02 17:18:09 NJ3417@pubd1> create table test_b (col_b varchar2(20)); Table created. Elapsed: 00:00:00.02 17:18:32 NJ3417@pubd1> insert into test_b values('Blue'); 1 row created. Elapsed: 00:00:00.03 17:18:55 NJ3417@pubd1> commit; Commit complete. 17:34:56 NJ3417@pubd1> begin 17:34:56 2 sys.dbms_advanced_rewrite.declare_rewrite_equivalence( 17:34:56 3 name => 'Mikes SQL override', 17:34:56 4 source_stmt => 'SELECT col_a FROM test_a', 17:34:56 5 destination_stmt => 'SELECT col_b FROM test_b', 17:34:56 6 validate => FALSE); 17:34:56 7 end; 17:34:56 8 / begin * ERROR at line 1: ORA-00905: missing keyword ORA-06512: at "SYS.DBMS_ADVANCED_REWRITE", line 29 ORA-06512: at "SYS.DBMS_ADVANCED_REWRITE", line 185 ORA-06512: at line 2 17:54:18 NJ3417@pubd1> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Solaris: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production 5 rows selected.
Mikemtefft wrote:
What I'm doing wrong here?I don't have your exact version but I think that you can't have any string as the name of the rewrite rule. Refer to the documentation
Here's the working example:SQL> select * from v$version ; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production PL/SQL Release 11.2.0.1.0 - Production CORE 11.2.0.1.0 Production TNS for Linux: Version 11.2.0.1.0 - Production NLSRTL Version 11.2.0.1.0 - Production SQL> create table test_a (col_a varchar2(20)); Table created. SQL> insert into test_a values('Red'); 1 row created. SQL> create table test_b (col_b varchar2(20)); Table created. SQL> insert into test_b values('Blue'); 1 row created. SQL> commit ; Commit complete. SQL> select col_a from test_a ; COL_A -------------------- Red SQL> select col_b from test_b ; COL_B -------------------- Blue begin sys.dbms_advanced_rewrite.declare_rewrite_equivalence( name => 'Mikes SQL override', source_stmt => 'SELECT col_a FROM test_a', destination_stmt => 'SELECT col_b FROM test_b', validate => FALSE); end; 8 / begin * ERROR at line 1: ORA-00905: missing keyword ORA-06512: at "SYS.DBMS_ADVANCED_REWRITE", line 29 ORA-06512: at "SYS.DBMS_ADVANCED_REWRITE", line 185 ORA-06512: at line 2 begin sys.dbms_advanced_rewrite.declare_rewrite_equivalence( name => 'myrule', source_stmt => 'SELECT col_a FROM test_a', destination_stmt => 'SELECT col_b FROM test_b', validate => FALSE); end; 8 / PL/SQL procedure successfully completed. SQL> show parameter rewrite NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ query_rewrite_enabled string TRUE query_rewrite_integrity string enforced SQL> alter session set query_rewrite_integrity=trusted ; Session altered. SQL> show parameter rewrite NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ query_rewrite_enabled string TRUE query_rewrite_integrity string TRUSTED SQL> select col_a from test_a ; COL_A -------------------- Blue
-
ORA-17629: unable to connect to the remote database server
Hello
I have put Dataguard in place with primary and 1 physical standby for learning/test database:
I do NOT plan the unloading of RMAN backups on the physics of the day before.
Recorded the primary database with RMAN and when "resync catalog db_unique_name all;" is issued.
I get the following error:
---------------------------------------------------------------------------------------------------------------------
RMAN > catalog resync db_unique_name all;
from full resynchronization of the recovery catalog
full complete Resync
resynchronization of data base with DB_UNIQUE_NAME ASTTESTB
RMAN-00571: ===========================================================
RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =.
RMAN-00571: ===========================================================
RMAN-03002: failed to db_unique_name resynchronization command at 28/09/2011 11:34:23
ORA-17629: unable to connect to the remote database server
ORA-17628: Oracle 17629 error returned by remote Oracle Server
------------------------------------------------------------------------------------------------------------------
Configuration of RMAN for the main proceedings are the following:
RMAN > show all to db_unique_name asttest;
RMAN settings for database with db_unique_name ASTTEST are:
CONFIGURE RETENTION POLICY TO RECOVERY OF 7-DAY WINDOW;
CONFIGURE BACKUP OPTIMIZATION # by default
SET UP DEFAULT DISK DEVICE TYPE; # by default
CONFIGURE CONTROLFILE AUTOBACKUP # by default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "%F" # by default
SET UP THE DEVICE TYPE DISK PARALLELISM 1 BACKUP BACKUPSET TYPE; # by default
CONFIGURE BACKUP OF DATA TO DISK FILE TYPE DEVICE TO 1; # by default
CONFIGURE BACKUP ARCHIVELOG FOR DEVICE TYPE DISK TO 1; # by default
CONFIGURE MAXSETSIZE TO UNLIMITED; # by default
CONFIGURE ENCRYPTION OF DATABASE # by default
CONFIGURE THE ENCRYPTION ALGORITHM "AES128"; # by default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AND 'DEFAULT' LIBERATION OPTIMIZE FOR TRUE LOAD; # by default
CONFIGURE DB Nom_unique "asttest" CONNECT IDENTIFIER ' ASTTEST. UMDNJ. EDU'; _
CONFIGURE DB "Asttestb" of nom_unique CONNECT IDENTIFIER "asttestb"; _
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ' / opt/oracle/product/11.2.0/dbhome_1/dbs/snapcf_asttest.f'; # by default
Configuration of RMAN for instance physical standby are:
RMAN > show all to db_unique_name asttestb;
RMAN settings for database with db_unique_name ASTTESTB are:
CONFIGURE RETENTION POLICY TO RECOVERY OF 7-DAY WINDOW;
CONFIGURE BACKUP OPTIMIZATION # by default
SET UP DEFAULT DISK DEVICE TYPE; # by default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "%F" # by default
SET UP THE DEVICE TYPE DISK PARALLELISM 1 BACKUP BACKUPSET TYPE; # by default
CONFIGURE BACKUP OF DATA TO DISK FILE TYPE DEVICE TO 1; # by default
CONFIGURE BACKUP ARCHIVELOG FOR DEVICE TYPE DISK TO 1; # by default
CONFIGURE MAXSETSIZE TO UNLIMITED; # by default
CONFIGURE ENCRYPTION OF DATABASE # by default
CONFIGURE THE ENCRYPTION ALGORITHM "AES128"; # by default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AND 'DEFAULT' LIBERATION OPTIMIZE FOR TRUE LOAD; # by default
CONFIGURE DB Nom_unique "asttest" CONNECT IDENTIFIER ' ASTTEST. UMDNJ. EDU'; _
CONFIGURE DB "Asttestb" of nom_unique CONNECT IDENTIFIER "asttestb"; _
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ' / opt/oracle/product/11.2.0/dbhome_1/dbs/snapcf_asttest.f'; # by default
----------------------------------------------------------------------------------------------------------------------
When I tested missing missing datafile and control file scenario on the primary database, it worked (Advisor to recover data)
However, missing datafile scenario does not work on the physics of the day before.
Here are the steps I followed:
********************************************
1 renamed a file of physical data - in standby mode:
bash - $3.2 ls - ltr
Total 107832
-rw - r - 1 oracle oinstall 52429312 16 September 12:19 asttest_redo03.log
-rw - r - 1 oracle oinstall 61874176 Sep 29 15:41 asttest_temp01.dbf
-rw - r - 1 oracle oinstall 52436992 5 Oct 11:00 rmandg_data01.dbf
bash - $3.2 mv rmandg_data01.dbf rmandg_data01.dbf_old
bash - $3.2 ls - ltr
Total 107832
-rw - r - 1 oracle oinstall 52429312 16 September 12:19 asttest_redo03.log
-rw - r - 1 oracle oinstall 61874176 Sep 29 15:41 asttest_temp01.dbf
-rw - r - 1 oracle oinstall 52436992 5 Oct 11:00 rmandg_data01.dbf_old
2. restore the datafile (find the data file # view v$ recover_file):
RMAN > restore datafile 5;
From restoration to 5 October 11
Segmentation fault
3. in spite of the error, published "recover datafile command.
4 RMAN > recover datafile 5;
From pick up to 5 October 11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID = 10 type of device = DISK
RMAN-00571: ===========================================================
RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =.
RMAN-00571: ===========================================================
RMAN-03002: failure of the command recover at 05/10/2011 12:00:40
RMAN-06094: datafile 5 must be restored.
5. manually copy the physical primary datafile - in standby mode, & then problem recover RMAN command:
bash - $3.2 scp oracle@msudrainier:/ora03/oradata/asttest/rmandg_data01.dbf.
rmandg_data01.dbf 100% 50 MB 16.7 MB/s 00:03
bash - $3.2 ls - ltr
Total 159096
-rw - r - 1 oracle oinstall 52429312 16 September 12:19 asttest_redo03.log
-rw - r - 1 oracle oinstall 61874176 Sep 29 15:41 asttest_temp01.dbf
-rw - r - 1 oracle oinstall 52436992 5 Oct 11:49 rmandg_data01.dbf_old
-rw - r - 1 oracle oinstall 52436992 5 Oct 12:01 rmandg_data01.dbf
RMAN > recover datafile 5;
From pick up to 5 October 11
using channel ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =.
RMAN-00571: ===========================================================
RMAN-03002: failure of the command recover at 05/10/2011 12:01:59
RMAN-06067: RECOVER the DATABASE required with a backup control file or created
6. of course RMAN commands have failed to restore the missing data file;
So I renamed the file to original and rebooted repeat services applies - this restore the data file and now the configuration state of the DG is normal.
*********************************************************************************
Not quite sure if I'm still he hands the right way or if the error above is related to RMAN not able to synchronize with the physics of the day before.
The documentation I want to talk to is here (1 paragraph):
[http://download.oracle.com/docs/cd/B28359_01/server.111/b28294/rman.htm#BAJDFBDD | http://download.oracle.com/docs/cd/B28359_01/server.111/b28294/rman.htm#BAJDFBDD]
Any pointers/direction and advise is greatly appreciated.
Best regards
NKI got it!
/home/oracle:STANDBY >$ORACLE_HOME/bin/rman target sys/
catalog / @rcatalog Recovery Manager: Release 11.2.0.1.0 - Production on Fri Oct 7 14:12:10 2011 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: PRIMARY (DBID=1562898590, not open) connected to recovery catalog database RMAN> resync catalog from db_unique_name all; resyncing from database with DB_UNIQUE_NAME PRIMARY starting full resync of recovery catalog RMAN output not resynced for database with DB_UNIQUE_NAME PRIMARY full resync complete If the necessary connection string a target/sys and a catalogue
RMAN target sys /
catalog / @rcatalog I did my standby
Will try the primary
Best regards
mseberg
Work on both. Great question!
connected to target database: PRIMARY (DBID=1562898590) connected to recovery catalog database RMAN> resync catalog from db_unique_name all; starting full resync of recovery catalog full resync complete resyncing from database with DB_UNIQUE_NAME STANDBY RMAN output not resynced for database with DB_UNIQUE_NAME STANDBY RMAN>
Published by: mseberg on October 7, 2011 14:16
Thanks a ton for sticking to it. I'll add this little thing to my web site.
Published by: mseberg on October 7, 2011 14:22
-
ASM >; ALTER DISKGROUP >; error: ORA-00905: lack of keyword
Oracle 10.2.0.3.0 on RHEL 5 database
SQL > create diskgroup data4
external redundancy 2
3 disc "ORCL:DATA4";
DiskGroup created.
SQL > ALTER DISKGROUP DATA4 SET the ATTRIBUTE "compatible.rdbms" = "10.1 ';
ALTER DISKGROUP DATA4 SET the ATTRIBUTE "compatible.rdbms" = "10.1 '."
*
ERROR on line 1:
ORA-00905: lack of keyword
Is not the correct syntax? Please help... Thank you!
SQL > alter diskgroup DATA4 set attribute "au_size" = "4 M";
alter diskgroup DATA4 set attribute "au_size" = "4 M"
*
ERROR on line 1:
ORA-00905: lack of keywordCipherDBA wrote:
Hi, Aman-I have check the syntax before posting this message. I always get the error message, even if I believe that my syntax is correct.
SET the ATTRIBUTE 'attributeName' = "attribute_value".
Have you seen my 2nd answer where I asked that you are sure that 4 M size to THE East actually possible in 10g ASM (10203 your version) as far as I KNOW, this has begun to 11.1 from which can reach the size of the AU to a default value of 1 M 64 M. And this must explain the reason why your order is a failure since it was added in 11.1 Reference sql of the DSO. See 2nd link I gave.
Aman...
Maybe you are looking for
-
Weird question "empty trash".
Thus, all that recently, I went to empty my trash, now there are only 43 items in the trash can which must be cleared out, but when I go to empty a dialog box appears telling me is 'configuration' items and a counter starts adding all the items from
-
I can't type or use my address field in safari (since the update to 10.11.3)
The (9.0.3) Safari address field appears, but I can't place the cursor inside or type in addresses. Only way is to restart Safari, on the first page one, but a single entry in the address field is possible. And: The URL is presented as a "mess of let
-
How to restore deleted iCloud photo album?
I added all my pictures from my camera to a shared album iCloud and deleted from my camera.I did a second album shared on iCloud and added all my photos of the shared album 1 It looked like all photos from that shared 1 were there there so I deleted
-
Star Wars Special Edition Note: This system is not supported
I need help for the Star Wars content on my laptop special edition of Star Wars. I had to have my hard drive is erased after it got a virus and for some reason any now when I installed the Star Wars command center it tells me "this system is not sup
-
Dear Sir I'm working on a test bench that will be used for the tests of fatigue for a suspension, chassis etc. Components of the vehicle will be charged by the hydraulic cylinders. These hydraulic cylinders are controlled by an AO and module (NI9263