Re: different results in sql and plsql execution

  • From: "Radoulov, Dimitre" <cichomitiko@xxxxxxxxx>
  • To: <mdemenko@xxxxxxxxx>
  • Date: Tue, 1 Aug 2006 13:25:53 +0200

Cannot reproduce it on Solaris 8,
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit and Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit.



SYS@ora10gr2> set echo on
SYS@ora10gr2> set serveroutput on
DECLARE
SYS@ora10gr2> 2 result boolean;
3 BEGIN
4 IF DBMS_XDB.existsResource('/public/UserFiles') THEN
5
6 DBMS_XDB.deleteResource('/public/UserFiles',DBMS_XDB.DELETE_RECURSIVE_FORCE);
7 END IF;
8 result := DBMS_XDB.createFolder('/public/UserFiles');
9 result := DBMS_XDB.createFolder('/public/UserFiles/Image');
10 result :=
11 DBMS_XDB.createFolder('/public/UserFiles/Image/css');
12 result :=
13 DBMS_XDB.createFolder('/public/UserFiles/Image/Docs');
14 result :=
15 DBMS_XDB.createFolder('/public/UserFiles/Image/javascript');
16 END;
17 /



PL/SQL procedure successfully completed.

SYS@ora10gr2> commit;

Commit complete.

SYS@ora10gr2> SELECT path(1)
 2  FROM   Resource_View
 3  WHERE  Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
 4  AND    Existsnode(Res, '/Resource[@Container="true"]') = 1
 5  AND    Depth(1) = 1
 6  /

PATH(1)
--------------------------------------------------------------------------------
css
Docs
javascript

SYS@ora10gr2> DECLARE
2 l_Child_Xml Xmltype;
3 l_Count NUMBER;
4 BEGIN
5 SELECT Xmlelement("Folders",
6 Xmlagg(Xmlelement("Folder",
7 Xmlattributes(Path(1) AS "name"))))
8 INTO l_Child_Xml
9 FROM Resource_View
10 WHERE Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
11 AND Existsnode(Res, '/Resource[@Container="true"]') = 1
12 AND Depth(1) = 1;
13 SELECT COUNT(*)
14 INTO l_Count
15 FROM Resource_View
16 WHERE Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
17 AND Existsnode(Res, '/Resource[@Container="true"]') = 1
18 AND Depth(1) = 1;
19 Dbms_Output.Put_Line('Count: ' || l_Count);
20 Dbms_Output.Put_Line(l_child_xml.getStringVal);
21 END;
22 /
Count: 3
<Folders><Folder name="Docs"></Folder><Folder name="css"></Folder><Folder
name="javascript"></Folder></Folders>


PL/SQL procedure successfully completed.

SYS@ora10gr2> startup force
ORACLE instance started.

Total System Global Area  629145600 bytes
Fixed Size                  2031040 bytes
Variable Size             301990464 bytes
Database Buffers          318767104 bytes
Redo Buffers                6356992 bytes
Database mounted.
Database opened.
SYS@ora10gr2> SELECT path(1)
FROM   Resource_View
 2  WHERE  Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
 3    4  AND    Existsnode(Res, '/Resource[@Container="true"]') = 1
 5  AND    Depth(1) = 1
 6  /

PATH(1)
--------------------------------------------------------------------------------
css
Docs
javascript

SYS@ora10gr2> set serveroutput on
SYS@ora10gr2> DECLARE
2 l_Child_Xml Xmltype;
3 l_Count NUMBER;
4 BEGIN
5 SELECT Xmlelement("Folders",
6 Xmlagg(Xmlelement("Folder",
7 Xmlattributes(Path(1) AS "name"))))
8 INTO l_Child_Xml
9 FROM Resource_View
10 WHERE Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
11 AND Existsnode(Res, '/Resource[@Container="true"]') = 1
12 AND Depth(1) = 1;
13 SELECT COUNT(*)
14 INTO l_Count
15 FROM Resource_View
16 WHERE Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
17 AND Existsnode(Res, '/Resource[@Container="true"]') = 1
18 AND Depth(1) = 1;
19 Dbms_Output.Put_Line('Count: ' || l_Count);
20 Dbms_Output.Put_Line(l_child_xml.getStringVal);
21 END;
22 /
Count: 3
<Folders><Folder name="Docs"></Folder><Folder name="css"></Folder><Folder
name="javascript"></Folder></Folders>


PL/SQL procedure successfully completed.

SYS@ora10gr2>


======================================================================================

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
PL/SQL Release 9.2.0.7.0 - Production
CORE    9.2.0.7.0       Production
TNS for Solaris: Version 9.2.0.7.0 - Production
NLSRTL Version 9.2.0.7.0 - Production

SQL> set echo on
set serveroutput on
DECLARE
result boolean;
BEGIN
               result := DBMS_XDB.createFolder('/public/UserFiles');
               result := DBMS_XDB.createFolder('/public/UserFiles/Image');
               result :=
SQL> DBMS_XDB.createFolder('/public/UserFiles/Image/css');
               result :=
DBMS_XDB.createFolder('/public/UserFiles/Image/Docs');
               result :=
DBMS_XDB.createFolder('/public/UserFiles/Image/javascript');
END;
/SQL>   2    3    4    5    6    7    8    9   10   11   12   13

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

SQL> SELECT path(1)
 2  FROM   Resource_View
 3  WHERE  Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
 4  AND    Existsnode(Res, '/Resource[@Container="true"]') = 1
 5  AND    Depth(1) = 1
 6  /

PATH(1)
--------------------------------------------------------------------------------
css
Docs
javascript

SQL> DECLARE
2 l_Child_Xml Xmltype;
3 l_Count NUMBER;
4 BEGIN
5 SELECT Xmlelement("Folders",
6 Xmlagg(Xmlelement("Folder",
7 Xmlattributes(Path(1) AS "name"))))
8 INTO l_Child_Xml
9 FROM Resource_View
10 WHERE Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
11 AND Existsnode(Res, '/Resource[@Container="true"]') = 1
12 AND Depth(1) = 1;
13 SELECT COUNT(*)
14 INTO l_Count
15 FROM Resource_View
16 WHERE Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
17 AND Existsnode(Res, '/Resource[@Container="true"]') = 1
18 AND Depth(1) = 1;
19 Dbms_Output.Put_Line('Count: ' || l_Count);
20 Dbms_Output.Put_Line(l_child_xml.getStringVal);
21 END;
22 /


Count: 3
<Folders><Folder name="Docs"></Folder><Folder name="css"></Folder><Folder
name="javascript"></Folder></Folders>

PL/SQL procedure successfully completed.

SQL> SQL> startup force
ORACLE instance started.

Total System Global Area 706185456 bytes
Fixed Size 731376 bytes
Variable Size 436207616 bytes
Database Buffers 268435456 bytes
Redo Buffers 811008 bytes
Database mounted.
Database opened.
SQL> set serveroutput on
SQL> DECLARE
2 l_Child_Xml Xmltype;
3 l_Count NUMBER;
4 BEGIN
5 SELECT Xmlelement("Folders",
6 Xmlagg(Xmlelement("Folder",
7 Xmlattributes(Path(1) AS "name"))))
8 INTO l_Child_Xml
9 FROM Resource_View
10 WHERE Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
11 AND Existsnode(Res, '/Resource[@Container="true"]') = 1
12 AND Depth(1) = 1;
13 SELECT COUNT(*)
14 INTO l_Count
15 FROM Resource_View
16 WHERE Under_Path(Res, '/public/UserFiles/Image/', 1) = 1
17 AND Existsnode(Res, '/Resource[@Container="true"]') = 1
18 AND Depth(1) = 1;
19 Dbms_Output.Put_Line('Count: ' || l_Count);
20 Dbms_Output.Put_Line(l_child_xml.getStringVal);
21 END;
22 /
Count: 3
<Folders><Folder name="Docs"></Folder><Folder name="css"></Folder><Folder
name="javascript"></Folder></Folders>


PL/SQL procedure successfully completed.


Regards Dimitre


-- //www.freelists.org/webpage/oracle-l


Other related posts: