With clause within the cursor ???

Hello gurus,
Can we have a with clause within the cursor ???
something like this ..
cursor test_cur is
WITH unpivoted_data     AS
     SELECT DISTINCT
f.cust_id
          f.office_cd
          f.type_cd
     FROM      refoff      ro,
          cutomer     p,
          office     f
     WHERE     f.cust_id     = p.cust_id
     AND     f.office_cd      = ro.office_cd
     AND      f.type_cd      IN ('ACCT', 'pay')
SELECT     cust_id
,     MAX (CASE WHEN type_cd = 'ACCT' THEN office_id END)     AS acct_office_id
,     MAX (CASE WHEN type_cd = 'pay' THEN office_id END)     AS pay_office_id
FROM     unpivoted_data
GROUP BY cust_id
test_cur_rec test_cur% rowtype;
Begin
for test_cur_rec in test_cur
loop
insert into test1 (.....) values (.......);
end loop;
end;
One more quick question .... How do u guys past in the posting ??? Like somesought of a box .....I have seen lot senior gurus when they are replying, they post the code in some sought of a box ....that makes very easy to understand and take look at the code in the posting....???
Thank you so much!!!

Hi,
user642297 wrote:
Hello gurus,
Can we have a with clause within the cursor ???Sure, but don't take my word for it. Try it and see!
If you get an error, post the error message.
If you get unexpected results, explain.
Whenever you have a problem, post your full Oracle version number.
One more quick question .... How do u guys past in the posting ??? Like somesought of a box .....I have seen lot senior gurus when they are replying, they post the code in some sought of a box ....that makes very easy to understand and take look at the code in the posting....??? Type these 6 characters:
(all small letters, inside curly brackets) before and after formatted sections.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • OPEN CURSOR using a WITH clause in the select query

    Hi,
    I am using Oracle 9i. I have a requirement where I have a REFCURSOR as an OUT parameter for my procedure. I have declared the TYPE and created the procedure.
    In the procedure, I am using OPEN <cursor_name> FOR <query>;
    Ideally this works in most of the cases that I have tried earlier. However, in the current case I am using a WITH clause in my query to get the results.
    I need help in understanding if the above mentioned syntax would not allow me to use the WITH clause in the query.

    What error do you get , seems to work ok for me on 10g
    SQL> begin
      2  open :cv for 'with x as (select * from emp)  select * from x';
      3  end;
      4  /
    PL/SQL procedure successfully completed.
    SQL> print :cv
         EMPNO
    ENAME
    JOB              MGR HIREDATE         SAL       COMM     DEPTNO
          7521
    WARD
    SALESMAN        7698 22-FEB-81       1250        500         30
          7566
    JONES
    MANAGER         7839 02-APR-81       2975                    20
         EMPNO

  • How can I create cursors within the cursor?

    How can I create cursors within the cursor?
    Table1 2001 - 2007 data
    Account_no
    Account_eff_dt
    No_account_holder
    Num
    Seq_Num
    Value1
    Value2
    Table2_Historical (doesn't have Num as a field) 1990 - 2000 data
    Account_no
    Account_eff_dt
    No_account_holder
    Seq_Num
    Value1
    Value2
    Table3_06
    Account_no
    Account_eff_dt
    No_account_holder
    Num
    My result table should be:
    Table_result_06
    Account_no
    Account_eff_dt
    No_account_holder
    Num
    Value1_min (the minimum value for the minimum of record_sequence)
    Value2_max (the maximum value for the maximum of record_sequence)
    I have to get data from Table1 and Table2_Historical. If one account was open in 1998 and is still effective, the minimum value of that account is in the Table2_Historical.
    Let's say I open a cursor:
    cursor_first is
    select * from table3_06;
    open csr_first
    loop
    fetch cursor_first into
    v_Account_no
    v_Account_eff_dt
    v_No_account_holder
    v_Num
    EXIT WHEN csr_first%NOTFOUND;
    How can I open a second cursor from here that will get the Seq_Num from Table1
    csr_second
    select Seq_Num from Table1 where
    v_Account_no = Account_no
    v_Account_eff_dt <= Account_eff_dt
    v_No_account_holder=No_account_holder
    v_Num = Num
    How does it works???
    Thanks a lot

    Thanks so much for replying back. Here is what I am trying to do.
    I have to create a table for each year 2002, 2003, 2004, 2005, 2006 that has all the account numbers that are active each year plus some other characteristics.
    Let’s say I will create Table_result_06. This table will have the following fields. The account number, account effective date, Number of the account holder and the field Num (The primary key is a combination of all 4 fields), the beginning look of value 1 in 2006, the last look of value 1 in 2006.
    Table_result_06
    Account_no key
    Account_eff_dt key
    No_account_holder key
    Num key
    Value1_min (the minimum value for the minimum of record_sequence)
    Value2_max (the maximum value for the maximum of record_sequence)
    All the active account numbers with the Account_eff_dt, No_account_holder and Num are in the Table3. As such I can build a query that connects Table3 with table Table1 on all 4 fileds, Account_no, Account_eff_dt, No_account_holder, Num and find the Value1_min for the min of req_sequence in 2006 and Value1_max for the max of req_sequence in 2006. Here my problem starts.
    Table 1 doesn’t have a new entry if nothing has changed in the account. So if this account was open in 1993 and nothing has changed I don’t have an entry in 2006 but this doesn’t mean that this account doesn’t exist in 2006. So to find the minimum value I have to go back in 1993 and find the max and min for that year and that will be max and min in 2006 as well.
    As such I have to go to Table_2 historical and search for min and max. But this table doesn’t have the field NUM and if I match only on the Account_no, Account_eff_dt and No_account_holder I don’t get a unique record.
    So how can I connect all three tables, Table 1 for max and min, if it doesn’t find anything will go to table 2 find the two values and populate Table_result_06.
    Thanks so much again for your hep,

  • Query within the Cursor loop is very slow

    Hi ,
    I have a stored procedure which has Select/Insert operation which is looped within the cursor. The Select uses variables from the cursor, and inserts the data into the table.
    My problem is the peformance. The stored procedure executes in 2 mins if I hard code the where clause values in the Select. Instead if I use the variables obtained from the cursor, the query takes so long (more than 20 mins) to insert the same no of records into the table.
    Below is the snippet of my code
    create procedure sample is
    declare
    v_acct_month number(2);
    v_sp_name varchar2(30);
    cursor v_cur is Select distinct Acct_Month,salesperson_name from period;
    begin
    open v_cur;
    loop
    fetch v_cur into v_acct_month, v_sp_name;
    exit when v_cur%notfound;
    Insert into T1
    Select * from T2,T3.. Where T2.month=v_acct_month,t3.sp_name=v_sp_name;
    end loop;
    End;
    The query is not using the optimizer when the variables are used.The optimizer is used when I hard code the values in the select.
    Please give me suggestions to make this query faster..
    Thanks,
    Arun
    Edited by: [email protected] on Mar 28, 2009 10:18 AM

    Hi,
    Whenever you write code, format it to show the scope of BEGIN, LOOP, IF statements, and so on.
    Type these 6 characters
    &#123;code&#125;
    (small letters only, inside curly brackets) before and after the formatted code, to preserve spacing on this site.
    You've discovered why the tecnique you're using is called "slow-by-slow" processing.
    You don't need a cursor. You may not even need PL/SQL.
    Just write an INSERT statement that reference the table from the cursor and the tables from your current INSERT statement.
    Here's one way:
    INSERT
    INTO     t1 (columns)
    SELECT         columns
    FROM     t2
    ,     t3
    WHERE     ...
    AND     (t2.month, t3.sp_name)     IN (
                              SELECT DISTINCT
                                   acct_month
                           ,        salesperson_name
                           FROM        period
                           );Depending on the details of your case, there may be a better way, such as a 3-way join.

  • Cursor within the cursor showing error

    Hi,
    I am using a cursor within the cursor to create a procedure.I am getting the below error while compiling this
    15/7 PL/SQL: SQL Statement ignored
    16/14 PL/SQL: ORA-00942: table or view does not exist
    79/10 PL/SQL: Statement ignored
    82/31 PLS-00364: loop index variable 'I' use is invalid
    84/10 PL/SQL: Statement ignored
    84/50 PLS-00364: loop index variable 'I' use is invalid
    98/10 PL/SQL: Statement ignored
    101/31 PLS-00364: loop index variable 'I' use is invalid
    103/10 PL/SQL: Statement ignored
    103/50 PLS-00364: loop index variable 'I' use is invalid
    Am i using a wrong syntax,Could anyone help me on this..Please find my procedure code below
    CREATE OR REPLACE PROCEDURE DM_EIS.YOY_PURGE_PRC
    AS
    VAR_TEMP NUMBER := 1;
    VAR_TAB_NAME VARCHAR2(100);
    VAR_TAB_OWNER VARCHAR2(100);
    --For fetching table list to be processed
    CURSOR CUR_ONE IS
    SELECT OWNER,TABLE_NAME,FILTER_DATE,FILTER_VALUE
    FROM DM_EIS.NONPART_PURGE_CTL WHERE NVL(STATUS,'NULL') <> 'COMPLETED'
    AND PURGE_PREFERENCE='Y';
    --For fetching indexs that are to be disabled
    CURSOR CUR_IND IS
    SELECT * FROM DBA_INDEXES WHERE TABLE_NAME = var_tab_name
    AND OWNER = var_tab_owner
    AND UNIQUENESS <> 'UNIQUE';
    BEGIN
    FOR C IN CUR_ONE
    LOOP
    --CHECK IF TEMP TABLE IS ALREADY PRESENT, IF SO DROP IT.
    SELECT COUNT(*) INTO VAR_TEMP FROM ALL_TABLES WHERE TABLE_NAME = 'T_NOPART_PURGE';
    IF VAR_TEMP = 1
    THEN
    EXECUTE IMMEDIATE 'DROP TABLE DM_EIS.T_NOPART_PURGE';
    END IF;
    ---update the columns of Control table
    UPDATE DM_EIS.NONPART_PURGE_CTL
    SET STATUS = 'RUNNING'
    WHERE TABLE_NAME = C.TABLE_NAME
    AND OWNER = C.OWNER;
    COMMIT;
    UPDATE DM_EIS.NONPART_PURGE_CTL
    SET START_TIME = SYSDATE
    WHERE TABLE_NAME = C.TABLE_NAME
    AND OWNER = C.OWNER;
    COMMIT;
    --Check whether the column value is date or year
    IF C.FILTER_VALUE = 'YEAR' THEN
    --Move data to temp table and truncate main table
    execute immediate 'create table DM_EIS.T_NOPART_PURGE as select /*+ PARALLEL(ext,4) */ ext.* from '||c.owner||'.'|| c.table_name || ' ext where nvl(' || c.FILTER_DATE || ',''01-Feb-2009'') >= ''2009''';
    DBMS_OUTPUT.PUT_LINE('Truncating the main table'||C.OWNER||'.'|| C.TABLE_NAME);
    EXECUTE IMMEDIATE 'TRUNCATE TABLE ' ||C.OWNER||'.'|| C.TABLE_NAME;
    else
    --Move data to temp table and truncate main table               
    execute immediate 'create table DM_EIS.T_NOPART_PURGE as select /*+ PARALLEL(ext,4) */ ext.* from '||c.owner||'.'|| c.table_name || ' ext where nvl(' || c.FILTER_DATE || ',''01-Feb-2009'') >= ''01-Jan-2009''';
    DBMS_OUTPUT.PUT_LINE('Truncating the main table'||C.OWNER||'.'|| C.TABLE_NAME);
    EXECUTE IMMEDIATE 'TRUNCATE TABLE ' ||C.OWNER||'.'|| C.TABLE_NAME;
    end if;
    var_tab_name := c.table_name;
    var_tab_owner := c.owner;
    --Disable the indexes and load data back to main table,
    for i in cur_ind
    loop
    execute immediate 'Alter index '||c.OWNER ||'.'|| i.index_name || ' unusable';
    dbms_output.put_line(c.OWNER ||'.'|| i.index_name||' is unusable');
    end loop;
    ---insert back the data into the table from temporary table
    execute immediate 'insert /*Append*/ into '||c.OWNER ||'.'|| c.table_name || ' select /* PARALLEL(tmp,4) */ tmp.* from DM_EIS.T_NOPART_PURGE tmp';
    commit;
    --Rebuild the indexes
    for i in cur_ind
    loop
    execute immediate 'Alter index '||c.OWNER ||'.'|| i.index_name || ' rebuild compute statistics';
    dbms_output.put_line(c.OWNER ||'.'|| i.index_name||' is rebuilt');
    end loop;
    --Gather stats for the table
    DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>c.OWNER,
    TABNAME=>c.table_name,
    CASCADE=>TRUE,
    ESTIMATE_PERCENT=>dbms_stats.auto_sample_size
    dbms_output.put_line(c.OWNER ||'.'|| c.table_name||' is analyzed');
    ---update the columns of Control table
    update DM_EIS.NONPART_PURGE_CTL
    set status = 'COMPLETED'
    where TABLE_NAME = c.TABLE_NAME
    AND OWNER = C.OWNER;
    commit;
    UPDATE DM_EIS.NONPART_PURGE_CTL
    SET END_TIME = SYSDATE
    WHERE TABLE_NAME = C.TABLE_NAME
    AND OWNER = C.OWNER;
    COMMIT;
    UPDATE DM_EIS.NONPART_PURGE_CTL
    SET ELAPSED_TIME =ROUND((END_TIME-START_TIME)*1440,2)
    WHERE TABLE_NAME = C.TABLE_NAME
    AND OWNER = C.OWNER;
    COMMIT;
    UPDATE DM_EIS.NONPART_PURGE_CTL
    SET LAST_UPDATED_DT = SYSDATE
    WHERE TABLE_NAME = C.TABLE_NAME
    AND OWNER = C.OWNER;
    COMMIT;
    dbms_output.put_line('Data Purging is done for '||c.OWNER ||'.'|| c.table_name);
    end loop;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20003,' ERROR IN DM_EIS.NONPART_PURGE_PRC'|| SQLCODE||'-'||SQLERRM);
    End;
    /

    Oracle is not a Microsoft product. What it appears you are doing is a phenomenally efficient way to bring your database to its knees whimpering and begging that you take a class from Oracle University.
    Temporary tables in Oracle are permanent tables and that is the proper design for working with the product. Creating "temp" tables using dynamic SQL in a stored procedure is multiple layers of bad practice layered on top of each other. Something made more obvious by the fact that you appear to not have read that portion of the docs that explain the differences between explicit privilege grants and grants made via roles when it comes to PL/SQL.
    My recommendation is that you throw this code away and read the docs. First on the security model, roles, and object privileges. Next on the use of Global Temporary Tables.

  • Getting "The server {85DE1C45-2C66-101B-B02E-04021C009402} did not register with DCOM within the required timeout." on WinXP machine

    Hi,
    I have a windows service written in .Net which access a COM component(This conponent is also written by me).
    The COM component launches Acrobat and uses it for generating Thumbnail files.
    I get following error is logged into event viewer  when CreateDispatch("AcroExch.App", &e)) line is exicuted.
    Error Message: The server {85DE1C45-2C66-101B-B02E-04021C009402} did not register with DCOM within the required timeout.
    This problem occurs only when the windows service run under a specified user account say "TestUser". i.e if service runs under "Local System" account then everything works fine.
    Also this problem only occurs on WinXP machine. i.e same thing on Windows2003 server works fine.
    I have given all required permissions for "TestUser" on  AcroExch.AVDoc and AcroExch.PDBookmark using dcomcnfg.
    Any help will be appriciated.
    Thanks and Regards,
    Anand Mahadik.

    Hello,
    start by running sfc /scannow to check if there is corrupt system files.
    If this does not hellp, I recommend performing an in -place upgrade of your OS.
    This
    posting is provided "AS IS" with no warranties or guarantees , and confers no rights.
    Microsoft
    Student Partner 2010 / 2011
    Microsoft Certified
    Professional
    Microsoft Certified
    Systems Administrator: Security
    Microsoft Certified
    Systems Engineer: Security
    Microsoft Certified
    Technology Specialist: Windows Server 2008 Active Directory, Configuration
    Microsoft Certified
    Technology Specialist: Windows Server 2008 Network Infrastructure, Configuration
    Microsoft Certified
    Technology Specialist: Windows Server 2008 Applications Infrastructure, Configuration
    Microsoft Certified
    Technology Specialist: Windows 7, Configuring
    Microsoft Certified
    IT Professional: Enterprise Administrator
    Microsoft Certified IT Professional: Server Administrator 

  • Windows XP - Unable to register with DCOM within the timeout limit

    Just curious if anyone has run into iTunes server unable to register with DCOM within the given timeout limit?
    Also quite often when I close iTunes, the process shutsdown but then 30sec - 2min iTunes opens its self right back up again. I ususally have to terminiate it from the Task Manager.
    I am running the latest version of iTunes as of Sept 28th 1:30AM

    have a look here http://www.grc.com/freeware/dcom.htm
    Thinkpad R61 7733-1GU
    Thinkpad X61T 7762-54U
    Thinkpad X60T 6363-4GU
    Did a member help you today? Thank them with a Kudo!
    If a post answers your question, please mark it as an "Accepted Solution"!
    Regards,
    GMAC

  • The server {3EB3C877-1F16-487C-9050-104DBCD66683} did not register with DCOM within the required timeout

    Windows Server 2012 becomes slow and unresponsive, event logs show DCOM errors in event logs. After server reboot server works normally.
    Log Name:      System
    Source:        Microsoft-Windows-DistributedCOM
    Date:          10/28/2014 9:06:32 AM
    Event ID:      10010
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          NETWORK SERVICE
    Computer:      ServerName
    Description:
    The server {1F87137D-0E7C-44D5-8C73-4EFFB68962F2} did not register with DCOM within the required timeout.
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-DistributedCOM" Guid="{1B562E86-B7AA-4131-BADC-B6F3A001407E}" EventSourceName="DCOM" />
        <EventID Qualifiers="0">10010</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x8080000000000000</Keywords>
        <TimeCreated SystemTime="2014-10-28T13:06:32.743836700Z" />
        <EventRecordID>165767</EventRecordID>
        <Correlation />
        <Execution ProcessID="760" ThreadID="5560" />
        <Channel>System</Channel>
        <Computer>ServerName</Computer>
        <Security UserID="S-1-5-20" />
      </System>
      <EventData>
        <Data Name="param1">{1F87137D-0E7C-44D5-8C73-4EFFB68962F2}</Data>
      </EventData>
    </Event>

    Hi Avinash,
    If this issue occurs again, please follow steps below to troubleshoot it,
    Use the GUID in the error message to find what application it is.
    Using Regedit, navigate to the following registry value:
    HKEY_CLASSES_ROOT\CLSID\clsid value\LocalServer32. The clsid value is the information displayed in the message. Such as, {3EB3C877-1F16-487C-9050-104DBCD66683}
    In the right pane, double-click
    Default. The Edit String dialog box is displayed. Leave this dialog box open.
    Click
    Start, and then click This PC.
    Using the information displayed in the
    Value data box of the Edit String dialog box, navigate to the program.
    Right-click the program name, and then click
    Properties. The Properties dialog box for the program is displayed.
    To determine who the vendor is for this program, refer to the
    Version tab.
    If you can’t find the file in the corresponding path, please replace with a good file.
    Check if the related service have started. Stop and try to restart it.
    If you have 3<sup>rd</sup> party applications, please disable it temporary, to see if this issue was caused by them.
    For more details, please refer to links below, it provides more possible causes about event ID 10010.
    DistributedCOM Error ID 10010
    https://social.technet.microsoft.com/Forums/windowsserver/en-US/77b1db1d-f186-4515-8f7d-2241942eb9b7/distributedcom-error-id-10010?forum=winservergen
    Best Regards,
    Tina

  • The server {4D8E7D87-0103-42F6-BE82-598C7E90A42C} did not register with DCOM within the required tim

    hello all.....
    when i try to convert .indd file to PDF file in C# , i got the following error
    The server {4D8E7D87-0103-42F6-BE82-598C7E90A42C} did not register with DCOM within the required timeout.
    just 1 day ago i installed adobe indesign cs4 in my system.
    do i need to install anything else???????
    please let me know.
    Thanks in advance.

    Hi Avinash,
    If this issue occurs again, please follow steps below to troubleshoot it,
    Use the GUID in the error message to find what application it is.
    Using Regedit, navigate to the following registry value:
    HKEY_CLASSES_ROOT\CLSID\clsid value\LocalServer32. The clsid value is the information displayed in the message. Such as, {3EB3C877-1F16-487C-9050-104DBCD66683}
    In the right pane, double-click
    Default. The Edit String dialog box is displayed. Leave this dialog box open.
    Click
    Start, and then click This PC.
    Using the information displayed in the
    Value data box of the Edit String dialog box, navigate to the program.
    Right-click the program name, and then click
    Properties. The Properties dialog box for the program is displayed.
    To determine who the vendor is for this program, refer to the
    Version tab.
    If you can’t find the file in the corresponding path, please replace with a good file.
    Check if the related service have started. Stop and try to restart it.
    If you have 3<sup>rd</sup> party applications, please disable it temporary, to see if this issue was caused by them.
    For more details, please refer to links below, it provides more possible causes about event ID 10010.
    DistributedCOM Error ID 10010
    https://social.technet.microsoft.com/Forums/windowsserver/en-US/77b1db1d-f186-4515-8f7d-2241942eb9b7/distributedcom-error-id-10010?forum=winservergen
    Best Regards,
    Tina

  • The server did not register with DCOM within the required timeout.

    Hi All,
    I am using Thinkpad T43 (type 1871) with Windows XP SP3, but sometimes I find the following message in the Event Viewer:
    The server {7160A13D-73DA-4CEA-95B9-37356478588A} did not register with DCOM within the required timeout.
    What may be the reason for this message?
    How it can be solved?
    Regards,
    Alper

    have a look here http://www.grc.com/freeware/dcom.htm
    Thinkpad R61 7733-1GU
    Thinkpad X61T 7762-54U
    Thinkpad X60T 6363-4GU
    Did a member help you today? Thank them with a Kudo!
    If a post answers your question, please mark it as an "Accepted Solution"!
    Regards,
    GMAC

  • With clause usage in cursor

    is it possible to use with clause in cursor declaration.
    see the below simple example.
    it gives error.
    declare
    cursor t is
    (with hi as
    (select * from pepole )
    select distinct hi.id from hi where id =55);
    begin
    null;
    end;

    Remove the outer set of parenthesis.
    declare
    cursor t is
    with hi as
    (select * from emp )
    select distinct sal from hi;
    begin
    null;
    end;

  • With clause within proc

    Hi Gurus
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
    I am trying to create a procedure that I would run occasionally for reporting purposes, the procedure is going to populate test_stats table, which then will be accessed through Excel.
    Following code gives out an error. I think it is regarding WITH clause...
    ERROR line 10, col 12, ending_line 10, ending_col 12, Found 'x', Expecting: ( or SELECT VALUES
    1. Is wrapping up all insert statements into one proc a good idea? Other options?
    2. I have checked the oracle docs and I didnt see any restriction regarding the use of WITH within proc. What is the cause of the error?
    test_stats has only one column NUMBER.
    CREATE OR REPLACE PROCEDURE test_stats_1
    IS
    BEGIN
       INSERT INTO test_stats
          WITH x AS
               (SELECT count(*) cnt
                  FROM DUAL) --some complex query
          SELECT cnt
            FROM x;
    END;
    / Thanks
    T

    zx8754 wrote:
    My client version is:
    DEFINE _SQLPLUS_RELEASE = "1002000400" (CHAR)It is higher value than yours, does this mean mine is newer?
    btw, that INSERT statement on its own without proc works fine.
    Edited by: zx8754 on 02-Jul-2010 03:10What is your exact database version? The client version shouldn't matter.
    I had a similiar problem once in oracle 9.2.0.3. The SQL syntax inside PL was slightly behind the normal SQL syntax. This lead to the effect that I could run a specific SQL statement in SQL*PLUS but not from inside a package. At this time it had been the order clause of the XMLAGG function. This was a bug and was fixed in a later version (9.2.0.4 or 9.2.0.8).
    Maybe you have a similiar issue, also I thought that this versioning conflict was fixed in Oracle 10.x.
    btw it works for me:
    SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jul 2 16:57:54 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    xxx@yyy> CREATE OR REPLACE PROCEDURE test_stats_1
      2  IS
      3  BEGIN
      4     INSERT INTO test_stats
      5  WITH x AS
      6             (SELECT count(*) cnt
      7                FROM DUAL) --some complex query
      8        SELECT cnt
      9          FROM x;
    10  END;
    11  /
    Procedure created.
    xxx@yyy> Edited by: Sven W. on Jul 2, 2010 4:59 PM

  • Why are my photos not as sharp when I import them into Facebook from the Aperture Projects file, compared to when I 'share' them with Facebook within the Aperture programme? There is a noticeable difference and has been spoiling my photos for some time.

    Hi all, I take wildlife photos (mostly birds) as a hobby, and have become frustrated with the quality of my photos recently when shared online, particularly Facebook.
    I started blaming my camera ( a Canon 7D) as I changed it a few months ago from a Canon 550D, and I soon noticed that the images were not as good. Then I realised it was when I started using Aperture.
    I started by using the 'share' option within Aperture but I soon realised that then I have no control over the creation of an album, and the photos start appearing on facebook before I have finished uploading them and given them captions. Plus if I subsequently move them or export them to my back up drive then they disappear from Facebook!
    So I started creating albums within Facebook and then importing the photos from the aperture projects file on my computer. Because they are imported I can then delete or move the aperture file and the photos stay on facebook. Otherwise my macbook was becoming completely full.
    However to test my theory I have today uploaded the same photo edited in Aperture stored in the same projects folder using the two different methods described above, and there is a very distinct difference between the quality of the two images. The shared ones are very much sharper than the imported ones.
    I am a computer novice and don't know how to check what the quality settings are, or how to adjust anything to improve the way the photos go into facebook. I do have a manual but I just cant understand it :-(
    I have tried a free sample of Lightroom 5 and my photos  look amazing, there is such a difference, but I don't want to give up with Aperture unless the problem really can't be solved.
    Sorry for such a long first post, I would be very very grateful for any help you can give me!
    Regards
    Susan 

    Generally I would not use Facebook for sharing any photos, it compresses the photos substantially, and when you have shadows and dark colours you get visible "bands" where there should be subtle gradients, ie at sunsets and sunrises.
    It sounds like you are using two methods to upload to Facebook:
    1. Sharing from within Aperture, which basically syncs Facebook with your Aperture album, so any changes made at either end gets synced, hence the deletions from Albums, although the original file should still be in your library, just removed rom the album. It is like a playlist in iTunes.
    2. Exporting pics and uploading to Facebook from the browser.
    I am not sure how method 1 gets compressed, but I know that uploading hi-res jpegs to Facebook using method 2 results in poor quality images.
    I wouldn't even bother comparing option 1 or 2, and they will both be poor images once you view them on Facebook, as opposed to viewing uploaded images on proper image sharing / hosting sites.
    Your problem is not with Aperture, it is using Facebook for showing your work.
    If you export pics form Aperture at high res jpegs or TIFFs your images will be fine.
    If you insist to use Facebook as your way to share your work, then your workflow should be this:
    1. Right click images you want to share.
    2. Select Export version.
    3. Export as 100% size and ensure the export settings are set at 100% quality.
    4. Upload this pic into Facebook.
    This will get you the best image size and resolution on Facebook.
    See how you go.

  • When I zoom in + out with dodge tool the cursor changes

    So I just installed CS5 on a newly formatted PC.
    I didn't used to have this problem before before I completely formatted on HDD do to a virus + reinstalled Windows7, although now its getting on my nerves.
    Basically when I zoom in the dodge tool circle will change into a half circle and if I zoom in even more it will change into what seems to be two circles intertwined and if I zoom out around 35% it changes into 4 full circles???
    Even when I switch from my photoshop in the taskbar to firefox (without zooming back in) the cursor then changes into 4 normal mouse pointers???? For some reason it will quickly switch back if I press a button on my keyboard. But thats about it, maybe this might be a problem with my video driver maybe?
    Im using Inegrated Gfx: Intel GMA X4500

    Just updated driver... seems fine for now.

  • Problems with cmdlets within the Exchange 2013 powershell

    Hi,
    i've following problem: I can't access all possible powershell cmdlets within the exchange powershell. For example following cmdlet is missing: "Get-Queue". Also we have trouble with some other cmdlets: Get-Mailbox only lists one of 30 mailboxes
    and if we want to modify a mailbox identified by the logonname an error shows up that the user can't be found. Only the one listed user can be modified.
    What can I do to solve this problem?
    Yours
    Achim

    Hi Achim,
    You need to be assigned appropriate permissions or roles before you can run all cmdlet. Although all parameters for this cmdlet are listed, you may not have access to some parameters if they're not included in the permissions assigned to you. For example
    to run Get-Queue cmdlet - your user account must be assigned the "Organization Management" or at least "Server Management" role.
    You can try this to view roles assigned to your account:
    Get-ManagementRoleAssignment -RoleAssignee 'yourUserAcc' -Role "organization*" | fl role
    Get-ManagementRoleAssignment -RoleAssignee 'yourUserAcc' -Role "*transport*" | fl role
    Otherwise you can view and change role assignments with EAC:
    In the EAC, navigate to Permissions > Admin Roles.
    Select the role group you want to view the members of.
    In the role group details pane, view the members in the role group details pane.
    ▲ Vote if Helpful / Mark if Answer
    MCSE: Messaging 2013 Charter / Private Cloud / Server Infrastructure
    MaximumExchange.ru

Maybe you are looking for