Anonymous Block with Variable and SELECT

Hi Guys,
I am struggling to connect the material I am learning. I read about anonymous blocks and variables so I want to write a
nice and neat select with all the fancy stuff (variables, exceptions) to get it right and to it as I read in the book.
DECLARE
MYSTRING VARCHAR(10);
MYSTIRNG := 'X';     
BEGIN
SELECT * FROM DUAL WHERE DUMMY = MYSTRING
END;
but....this causes one error after the other. Am I getting the concept wrong here or is it a syntax error?

cant I just get the result without using variable to store the result in the first place???Perhaps you're better off using a REF CURSOR (a.k.a. cursor variable).
That way you'll pass a resultset to the caller and you don't need any variables to select into.
You can read about them here:
http://www.oracle-base.com/articles/misc/UsingRefCursorsToReturnRecordsets.php
Re: PL/SQL 101 : Understanding Ref Cursors
http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10766/tdddg_subprograms.htm#TDDDG99939

Similar Messages

  • Cell Offload will Happen for pl/sql Block with variables

    Hello Experts,
    i am working on procedures on exadata now. i was confused with cell offload in exadata. somehow offload is not happening when i ran the sql statement in in pl/sql block with variables.
    here are my findings.
    when i ran insert into from select with values at toad, my query response time is very good. the total process is completed in less than a minute.
    i checked offload is happening.
    same sql statement is placed in plsql block with variable, procedure is taking lot of time and it is not completing. this case offload is not happening.
    is it true, if i use variables in pl/sql block will not use cell offload and smart scan?
    if yes, what is the work around.
    Thanks
    #! Pavan

    Hello Marc,
    Thanks for quick response.
    when i ran the query with literals in toad session i am getting response.
    when i run it with pl/sql block , block is not completing at all.
    here is the plsql block:
    My Apologies for sending big code,with out proper format.
    DECLARE
    P_BUSINESS_DATE DATE;
    P_BATCH_ID NUMBER;
    UTC_OFFSET NUMBER;
    BEGIN
    P_BUSINESS_DATE := to_date('02/01/2012', 'MM/DD/YYYY');
    P_BATCH_ID := 1;
    UTC_OFFSET := 0;
    INSERT /*+ APPEND */ INTO UPL_CLIENT_tbl
    ( reportdate,
    LastName,
    FirstName,
    MiddleInitial,
    AccountNumber,
    Address,
    City,
    State,
    Zip,
    HomePhone,
    WorkPhone,
    BirthDate,
    Age,
    Sex,
    NumberOfChildren,
    Occupation,
    LeadSource,
    Consultant,
    ProgramDirector,
    CallTaker,
    LeadDate,
    FirstVisitDate,
    LastVisitDate,
    BillType,
    ClientType,
    PreviousClientType,
    AppointmentDate,
    DoctorLetterRequired,
    OneYearPermStabilizationDate,
    UnlimitedPermStabilizationDate,
    MaritalStatus,
    ReferrerName,
    ReferrerCentreID,
    CentreID,
    PaymentDateOne,
    PaymentAmountOne,
    PaymentDateTwo,
    PaymentAmountTwo,
    PaymentDateThree,
    PaymentAmountThree,
    PaymentDateFour,
    PaymentAmountFour,
    LibraryPurchased,
    BalanceDue,
    FoodNSFBalance,
    ProductNSFBalance,
    ProgramNSFBalance,
    StartWeight,
    CurrentWeight,
    GoalWeight,
    Height,
    DateGoalWeightAchieved,
    DateSuccessPlusPurchased,
    ReturnToActiveDate,
    VersionNumber,
    HalfWayDate,
    LastLSCDate,
    LastUpdatedDate,
    VitaminWaiverSigned,
    LastSupplementPurchaseDate,
    LastSupplementCodePurchased,
    LastTotalSupplementSupplyCycle,
    LastAddtlSupplPurchaseDate,
    LastAddtlSupplCodePurchased,
    LastAddtlSupplSupplyCycle,
    DiabetesClient,
    DietControlled,
    TakingOralMed,
    TakingInsulin,
    EmailId,
    CTADate,
    RWLDate,
    Address2)
    (SELECT /*+ full(S_CONTACT) full(REFERRER) full(Consultant) full(ProgramDirector) full(CallTaker) full(S_CONTACT_X) full(a) full(a2) full (a3) */ distinct p_business_date reportdate,
    SUBSTR(S_CONTACT.LAST_NAME,1,25) AS LastName,
    SUBSTR(S_CONTACT.FST_NAME,1,25) AS FirstName,
    SUBSTR(S_CONTACT.MID_NAME,1,1) AS MiddleInitial,
    S_CONTACT.X_JC_ACNT_NUM + 900000000 AS AccountNumber,
    SUBSTR(S_ADDR_PER.ADDR,1,40) AS ADDRESS,
    SUBSTR(S_ADDR_PER.CITY,1,20) AS City,
    S_ADDR_PER.STATE AS State,
    SUBSTR(S_ADDR_PER.ZIPCODE,1,15) AS Zip,
    SUBSTR(REPLACE(S_CONTACT.HOME_PH_NUM,'-',''),1,10) AS HomePhone,
    SUBSTR(REPLACE(S_CONTACT.WORK_PH_NUM,'-',''),1,10) AS WorkPhone,
    S_CONTACT.BIRTH_DT AS BirthDate,
    CASE WHEN FLOOR((p_business_date - S_CONTACT.BIRTH_DT)/360) < 0 THEN NULL ELSE FLOOR((p_business_date - S_CONTACT.BIRTH_DT)/360) END AS AGE,
    S_CONTACT.SEX_MF AS SEX,
    NULL AS NumberOfChildren,
    S_CONTACT_X.ATTRIB_34 AS OCCUPATION,
    CASE WHEN SUBSTR(S_CONTACT_X.ATTRIB_37,1,4)='Othe' THEN 'Othr'
    WHEN SUBSTR(S_CONTACT_X.ATTRIB_37,1,4)='Inte' THEN 'Intr'
    WHEN SUBSTR(S_CONTACT_X.ATTRIB_37,1,4)='Prin' THEN 'News'
    WHEN SUBSTR(S_CONTACT_X.ATTRIB_37,1,4)='Gues' THEN 'Gst'
    ELSE SUBSTR(S_CONTACT_X.ATTRIB_37,1,4) END AS LeadSource,
    SUBSTR(Consultant.EMP_NUM,1,10) AS CONSULTANT,
    ProgramDirector.EMP_NUM AS ProgramDirector,
    CallTaker.EMP_NUM CallTaker,
    S_CONTACT.X_LEAD_DT AS LeadDate,
    LEAST(nvl(S_CONTACT.X_LAST_CONSULTATION_DATE,O.FirstPurchaseDate ), nvl(O.FirstPurchaseDate,S_CONTACT.X_LAST_CONSULTATION_DATE+1) ) AS FirstVisitDate, --X_LAST_CONSULTATION_DATE stores the performed date or the legacy client firstvisitdate
    GREATEST(nvl(S_CONTACT_XM.X_CONSULTATION_DT ,S_CONTACT_X.ATTRIB_29), nvl(S_CONTACT_X.ATTRIB_29, S_CONTACT_XM.X_CONSULTATION_DT-1) ) AS LastVisitDate,
    CASE WHEN S_CONTACT.X_INSTALLMENT_BALANCE > 0 THEN 'B' ELSE NULL END AS BillType,
    ct.current_client_type ClientType,
    SUBSTR(ct.saved_client_type,1,1) PreviousClientType,
    S_CONTACT.LAST_CREDIT_DT AS AppointmentDate,
    CASE WHEN a.X_DR_LETTER_STATUS IS NOT NULL THEN 'Y' ELSE 'N' END AS DoctorLetterRequired,
    NULL AS OneYearPermStabilizationDate,
    DECODE(S_PROD_INT.X_PROGRAM_CLASSIFICATION,'Premium',a.START_DT ,NULL) AS UnlimitedPermStabilizationDate,
    SUBSTR(S_CONTACT.MARITAL_STAT_CD,1,1) AS MaritalStatus,
    SUBSTR(REFERRER.FST_NAME ||' '|| REFERRER.LAST_NAME,1,34) AS ReferrerName,
    ORGEXT_REF.LOC AS ReferrerCentreID,
    S_ORG_EXT.LOC AS CentreID,
    NULL AS PaymentDateOne,
    NULL AS PaymentAmountOne,
    NULL AS PaymentDateTwo,
    NULL AS PaymentAmountTwo,
    NULL AS PaymentDateThree,
    NULL AS PaymentAmountThree,
    NULL AS PaymentDateFour,
    NULL AS PaymentAmountFour,
    NULL AS LibraryPurchased,
    nvl(S_CONTACT.X_INSTALLMENT_BALANCE,0) + nvl(S_CONTACT.X_PREPAID_BALANCE,0) AS BalanceDue, -- Changed operation from (-) prepaid to (+) prepaid since the sign was flipped in OLTP.
    NULL AS FoodNSFBalance,
    NULL AS ProductNSFBalance,
    NULL AS ProgramNSFBalance,
    a2.X_START_WEIGHT AS StartWeight,
    a2.X_CURRENT_WEIGHT AS CurrentWeight,
    a2.X_GOAL_WEIGHT AS GoalWeight,
    a3.X_HEIGHT AS Height,
    a2.X_FAXSENT_DATETIME DateGoalWeightAchieved,
    DECODE(S_PROD_INT.X_PROGRAM_CLASSIFICATION,'Premium',a.START_DT,NULL) AS DateSuccessPlusPurchased,
    CASE WHEN A2.ARCHIVE_FLG = 'N' THEN a2.START_DT ELSE NULL END AS ReturnToActiveDate,
    600 VersionNumber,
    a2.X_FAXRECV_DATETIME AS HalfWayDate,
    NULL AS LastLSCDate,
    TRUNC(S_CONTACT.LAST_UPD-UTC_OFFSET/24) AS LastUpdatedDate,
    NULL AS VitaminWaiverSigned,
    LastSupplementPurchaseDate,
    LastSupplementCodePurchased,
    LastTotalSupplementSupplyCycle,
    LastAddtlSupplPurchaseDate,
    LastAddtlSupplCodePurchased,
    LastAddtlSupplSupplyCycle,
    CASE WHEN (a.X_DIABETES_NO_MEDS_FLG='Y' OR a.X_DIABETES_ORAL_MEDS_FLG = 'Y' OR a.X_DIABETES_ON_INSULIN_FLG = 'Y') THEN 'Y' ELSE 'N' END AS DiabetesClient,
    DECODE(a.X_DIABETES_NO_MEDS_FLG,'Y','Y','N') AS DietControlled,
    a.X_DIABETES_ORAL_MEDS_FLG AS TakingOralMed,
    a.X_DIABETES_ON_INSULIN_FLG AS TakingInsulin,
    S_CONTACT.EMAIL_ADDR AS EmailId,
    NULL CTADATE,
    NULL RWLDATE,
    SUBSTR(S_ADDR_PER.ADDR_LINE_2,1,40) AS Address2
    FROM S_CONTACT,
    S_CONTACT REFERRER,
    S_CONTACT Consultant,
    S_CONTACT ProgramDirector,
    S_CONTACT CallTaker,
    S_CONTACT_X,
    (SELECT /*+ parallel full(S_CONTACT_XM) */ PAR_ROW_ID, attrib_05, MAX(X_CONSULTATION_DT) AS X_CONSULTATION_DT FROM S_CONTACT_XM
    WHERE (S_CONTACT_XM.last_upd_by < '1-14WD'
    or S_CONTACT_XM.last_upd_by > '1-14WD')
    AND S_CONTACT_XM.ATTRIB_05 IN (SELECT row_id FROM S_ORG_EXT WHERE S_ORG_EXT.ACCNT_TYPE_CD IN ('Corporate Centre','Franchise Centre')) LOC IN (SELECT centreid FROM UPL_LIVE_CENTRES WHERE LIVE = 'Y' AND BATCHID = p_batch_id)) where S_ORG_EXT.ACCNT_TYPE_CD IN ('Corporate Centre','Franchise Centre')) --
    GROUP BY PAR_ROW_ID, attrib_05) S_CONTACT_XM,
    (SELECT CONTACT_ID, ACCNT_ID,
    MAX(LastSupplementPurchaseDate) AS LastSupplementPurchaseDate,
    MAX(LastSupplementCodePurchased) AS LastSupplementCodePurchased,
    MAX(LastTotalSupplementSupplyCycle) AS LastTotalSupplementSupplyCycle,
    MAX(LastAddtlSupplPurchaseDate) AS LastAddtlSupplPurchaseDate,
    MAX(LastAddtlSupplCodePurchased) AS LastAddtlSupplCodePurchased,
    MAX(LastAddtlSupplSupplyCycle) AS LastAddtlSupplSupplyCycle,
    MIN(FirstPurchaseDate) AS FirstPurchaseDate,
    MAX(LastPurchaseDate) AS LastPurchaseDate
              FROM (
              SELECT /*+ parallel full(S_ORDER) full(S_ORDER_XM) */ S_ORDER.CONTACT_ID AS CONTACT_ID,S_ORDER.ACCNT_ID,
    NULL AS LastSupplementPurchaseDate,
    NULL AS LastSupplementCodePurchased,
    NULL AS LastTotalSupplementSupplyCycle,
    NULL AS LastAddtlSupplPurchaseDate,
    NULL AS LastAddtlSupplCodePurchased,
    NULL AS LastAddtlSupplSupplyCycle,
    (S_ORDER_XM.X_BUSINESS_DATE) FirstPurchaseDate,
    (S_ORDER_XM.X_BUSINESS_DATE) LastPurchaseDate
              FROM S_ORDER,S_ORDER_XM
              WHERE S_ORDER.ROW_ID = S_ORDER_XM.PAR_ROW_ID
              AND S_ORDER.STATUS_CD IN ('Complete', 'Submitted', 'Ready')
              AND TRUNC(S_ORDER_XM.X_BUSINESS_DATE - UTC_OFFSET/24) <= (p_business_date)
              --GROUP BY S_ORDER.CONTACT_ID
              UNION ALL
              SELECT /*+ parallel full(S_ORDER) full (S_ORDER_ITEM) */ S_ORDER.CONTACT_ID AS CONTACT_ID,S_ORDER.ACCNT_ID,
              (CASE WHEN SUBSTR(SUBSTR(S_PROD_INT.PART_NUM,1,INSTR(S_PROD_INT.PART_NUM,'-',1,1)-1),2,4) = '931' THEN S_ORDER.CREATED ELSE NULL END) AS LastSupplementPurchaseDate,
              (CASE WHEN SUBSTR(SUBSTR(S_PROD_INT.PART_NUM,1,INSTR(S_PROD_INT.PART_NUM,'-',1,1)-1),2,4) = '931' THEN 931 ELSE NULL END) AS LastSupplementCodePurchased,
              (CASE WHEN SUBSTR(SUBSTR(S_PROD_INT.PART_NUM,1,INSTR(S_PROD_INT.PART_NUM,'-',1,1)-1),2,4) = '931' THEN 7 ELSE NULL END) AS LastTotalSupplementSupplyCycle,
              (CASE WHEN SUBSTR(SUBSTR(S_PROD_INT.PART_NUM,1,INSTR(S_PROD_INT.PART_NUM,'-',1,1)-1),2,4) = '920' THEN S_ORDER.CREATED ELSE NULL END) AS LastAddtlSupplPurchaseDate,
              (CASE WHEN SUBSTR(SUBSTR(S_PROD_INT.PART_NUM,1,INSTR(S_PROD_INT.PART_NUM,'-',1,1)-1),2,4) = '920' THEN 920 ELSE NULL END) AS LastAddtlSupplCodePurchased,
              (CASE WHEN SUBSTR(SUBSTR(S_PROD_INT.PART_NUM,1,INSTR(S_PROD_INT.PART_NUM,'-',1,1)-1),2,4) = '920' THEN 28 ELSE NULL END) AS LastAddtlSupplSupplyCycle,
              NULL FirstPurchaseDate,
              NULL LastPurchaseDate
              FROM S_ORDER,S_ORDER_ITEM, S_PROD_INT
              WHERE S_ORDER_ITEM.PROD_ID = S_PROD_INT.ROW_ID
                   AND S_ORDER.ROW_ID = S_ORDER_ITEM.ORDER_ID
                   AND S_ORDER_ITEM.qty_req <> 0
                   AND s_order.created_by <> '1-14WD'
                   AND S_ORDER_ITEM.PAR_ORDER_ITEM_ID is null
                   AND (S_ORDER_ITEM.PAR_ORDER_ITEM_ID is null
                   OR EXISTS (select 1 from S_ORDER_ITEM i2,s_prod_int p
    where i2.row_id = S_ORDER_ITEM.PAR_ORDER_ITEM_ID
    and SUBSTR(SUBSTR(S_PROD_INT.PART_NUM,1,INSTR(S_PROD_INT.PART_NUM,'-',1,1)-1),2,4) IN ('931','920')
    and i2.prod_id = p.row_id
                   AND S_ORDER.status_cd in ('Complete', 'Submitted', 'Ready')
                   and SUBSTR(SUBSTR(S_PROD_INT.PART_NUM,1,INSTR(S_PROD_INT.PART_NUM,'-',1,1)-1),2,4) IN ('931','920')
    GROUP BY CONTACT_ID,ACCNT_ID) O,
    S_CONTACT_TNTX,
    S_ORG_EXT,
    S_ORG_EXT ORGEXT_REF,
    S_ADDR_PER,
    S_ASSET a,
    S_PROD_INT,
    S_ASSET a2,
    S_ASSET a3,
    UPL_CLIENT_TYPES ct,
    (select /*+ parallel */ o.contact_id, o.accnt_id
    from S_ORDER o, S_ORDER_XM oxm
    where o.row_id = oxm.par_row_id
    and trunc(oxm.X_BUSINESS_DATE - (UTC_OFFSET/24)) = trunc(p_business_date)
    group by o.contact_id, o.accnt_id) oxm2
    WHERE S_CONTACT.ROW_ID = S_CONTACT_X.PAR_ROW_ID
    AND S_CONTACT_X.ROW_ID = S_CONTACT_XM.PAR_ROW_ID (+)
    AND (S_ORG_EXT.ROW_ID = S_CONTACT.PR_DEPT_OU_ID
    OR S_ORG_EXT.ROW_ID = oxm2.accnt_id
    OR S_ORG_EXT.ROW_ID = S_CONTACT_XM.attrib_05)
    AND ORGEXT_REF.ROW_ID(+) = REFERRER.PR_DEPT_OU_ID
    AND S_CONTACT.CON_ASST_PER_ID = Consultant.ROW_ID
    AND S_ORG_EXT.X_DIRECTOR_ID = ProgramDirector.ROW_ID (+)
    AND S_CONTACT.CREATED_BY = CallTaker.ROW_ID
    AND S_CONTACT.ROW_ID = a.PR_CON_ID (+)
    AND S_CONTACT.PR_PER_ADDR_ID = S_ADDR_PER.ROW_ID (+)
    AND S_CONTACT_TNTX.PAR_ROW_ID (+) = S_CONTACT.ROW_ID
    AND REFERRER.ROW_ID(+) = S_CONTACT_TNTX.REFERRED_BY_ID
    AND a.PROD_ID = S_PROD_INT.ROW_ID (+)
    AND O.CONTACT_ID (+) = S_CONTACT.ROW_ID
    AND a.STATUS_CD (+) = 'Active'
    AND a.TYPE_CD (+) ='Program'
    AND S_CONTACT.ROW_ID = a2.PR_CON_ID (+)
    AND a2.STATUS_CD (+) = 'Active'
    AND a2.TYPE_CD (+) = 'Lifecycle'
    AND a3.PR_CON_ID(+) = S_CONTACT.ROW_ID
    AND a3.STATUS_CD (+) = 'Active'
    AND a3.TYPE_CD (+) = 'HealthSheet'
    AND S_CONTACT.X_JC_ACNT_NUM = ct.CLIENT_NUMBER (+)
    --AND S_ORG_EXT.LOC NOT LIKE 'F%'
    AND S_ORG_EXT.ACCNT_TYPE_CD NOT IN 'Division'
    --AND S_ORG_EXT.Loc in (select to_char(centreid) from UPL_LIVE_CENTRES where LIVE = 'Y')
    AND (trunc(S_CONTACT.LAST_UPD - (UTC_OFFSET/24)) = trunc(p_business_date) or trunc(S_CONTACT_X.LAST_UPD - (UTC_OFFSET/24)) = trunc(p_business_date) OR (S_CONTACT_XM.X_CONSULTATION_DT = p_business_date) OR oxm2.CONTACT_ID IS NOT NULL)
    AND S_CONTACT.last_upd_by not in ('1-14WD')
    AND oxm2.CONTACT_ID (+) = o.CONTACT_ID
    AND S_ORG_EXT.LOC <> 'CW_846'
    AND (a.pr_accnt_id in (select row_id from S_ORG_EXT where S_ORG_EXT.LOC IN (Select CentreID from UPL_Live_Centres where BATCHID = p_batch_id)) or a.pr_accnt_id is null)
    AND (a2.pr_accnt_id in (select row_id from S_ORG_EXT where S_ORG_EXT.LOC IN (Select CentreID from UPL_Live_Centres where BATCHID = p_batch_id)) or a2.pr_accnt_id is null)
    AND (a3.pr_accnt_id in (select row_id from S_ORG_EXT where S_ORG_EXT.LOC IN (Select CentreID from UPL_Live_Centres where BATCHID = p_batch_id)) or a3.pr_accnt_id is null));
    rollback;
    END;
    --------------------------------------------------------------------------------------------------

  • Hello every body .. my ipad blocked with icloud and i dont remember the email or even birthday i've wrote I just remember the security question ... what can i do in this case to restor my email working ?? thx

    hello every body .. my ipad blocked with icloud and i dont remember the email or even birthday i've wrote I just remember the security questions ... what can i do in this case to restor my email back ?? thx

    Do you mean that the iPad is on the activation screen ? If it is then does it not show the first letter of your email address and the provider e.g. similar to :
    If that is what you are seeing then you don't remember any email account that you had starting with that letter with that provider ? If not then do you know if you have any of the account's downloads in your computer's iTunes library : Recovering a forgotten iTunes Store account name ?
    Or see if you can find it via http://appleid.apple.com : Apple ID: How to find your Apple ID
    If you cant remember or find your id then you won't be able to use your iPad

  • Basic anonymous block which drops and creates a table

    Version: 11.2.0.3
    I am fairly new to PL/SQL.
    We have a table named CHK_CNFG_DTL.
    I want to create a backup table for CHK_CNFG_DTL which will be named like CHK_CNFG_DTL_BKP_<timestamp> eg: CHK_CNFG_DTL_BKP_JULY_22_2013
    Creation of this backup table has to be automated so, I want to create an anonymous block which will first drop the existing backup table and then create a new backup table from the original table.
    The below code works fine. But the very first time when you run it , the loop won't iterate because there is no such table named CHK_CNFG_DTL_BKP%.
    declare
    v_stmt varchar2(1000);
    v_date date;
    begin
      for rec in
      (select * from user_tables where table_name like 'CHK_CNFG_DTL_BKP%' )
        loop
            begin
                execute immediate 'alter session set nls_date_format=''DD_MON_YYYY''';
                v_stmt := 'drop table '||rec.table_name|| ' purge';
                dbms_output.put_line(v_stmt);   ----- Drops Old backup table
                execute immediate v_stmt;
                select sysdate into v_date from dual;
                v_stmt := 'create table CHK_CNFG_DTL_BKP_'||to_date(v_date)||' as select * from CHK_CNFG_DTL';
                dbms_output.put_line('Creating Bkp table CHK_CNFG_DTL_BKP_'|| to_date(v_date) );
                dbms_output.put_line(v_stmt);
                execute immediate v_stmt;  --- Creates new Backup table
            exception
            when others
            then
            dbms_output.PUT_LINE (rec.table_name||'-'||sqlerrm);
            end;
        end loop;
    end;
    PL/SQL procedure successfully completed.
    -- Backup table not created.
    SQL> select table_name from user_Tables where table_name like 'CHK_CNFG_DTL%';
    TABLE_NAME
    CHK_CNFG_DTL
    Of course, this can fixed by creating a table like bleow before executing the anonymous block
    SQL> create table CHK_CNFG_DTL_BKP_JULY_22_2013 (x varchar2(37));
    Table created.
    and now the block will succesfully run like
    24  end;
    25  /
    drop table CHK_CNFG_DTL_BKP_JULY_22_2013 purge
    Creating Bkp table CHK_CNFG_DTL_BKP_22_JUL_2013
    create table CHK_CNFG_DTL_BKP_22_JUL_2013 as select * from CHK_CNFG_DTL
    PL/SQL procedure successfully completed.
    But this is going to production . We can't a table like CHK_CNFG_DTL_BKP_JULY_22_2013 without a proper business reason.
    How can I modify the above code so that if even if there is no such table like 'CHK_CNFG_DTL_BKP%' , it will proceed to create the backup table?

    Hi,
    Why won't you push the creation of the backup out of the loop ?
    declare
    v_stmt varchar2(1000);
    v_date date;
    begin
      for rec in
      (select * from user_tables where table_name like 'CHK_CNFG_DTL_BKP%' )
        loop
            begin
                execute immediate 'alter session set nls_date_format=''DD_MON_YYYY''';
                v_stmt := 'drop table '||rec.table_name|| ' purge';
                dbms_output.put_line(v_stmt);   ----- Drops Old backup table
                execute immediate v_stmt;
            exception
            when others
            then
            dbms_output.PUT_LINE (rec.table_name||'-'||sqlerrm);
            end;
        end loop;
                select sysdate into v_date from dual;
                v_stmt := 'create table CHK_CNFG_DTL_BKP_'||to_date(v_date)||' as select * from CHK_CNFG_DTL';
                dbms_output.put_line('Creating Bkp table CHK_CNFG_DTL_BKP_'|| to_date(v_date) );
                dbms_output.put_line(v_stmt);
                execute immediate v_stmt;  --- Creates new Backup table
    end;

  • Problem with focus and selecting text in jtextfield

    I have problem with jtexfield. I know that solution will be very simple but I can't figure it out.
    This is simplified version of situation:
    I have a jframe, jtextfield and jbutton. User can put numbers (0-10000) separated with commas to textfield and save those numbers by pressing jbutton.
    When jbutton is pressed I have a validator which checks that jtextfield contains only numbers and commas. If validator sees that there are invalid characters, a messagebox is launched which tells to user whats wrong.
    Now comes the tricky part.
    When user presses ok from messagebox, jtextfield should select the character which validator said was invalid so that user can replace it by pressing a number or comma.
    I have the invalid character, but how can you get the focus to jtextfield and select only the character which was invalid?
    I tried requestFocus(), but it selected whole text in jtextfield and after that command I couldn't set selected text. I tried with commands setSelectionStart(int), setSelectionEnd(int) and select(int,int).
    Then I tried to use Caret and select text with that. It selected the character I wanted, but the focus wasn't really there because it didn't have keyFocus (or something like that).
    Is there a simple way of doing this?

    textField.requestFocusInWindow();
    textField.select(...);The above should work, although read the API on the select(...) method for the newer recommended approach on how to do selection.
    If you need further help then you need to create a "Short, Self Contained, Compilable and Executable, Example Program (SSCCE)",
    see http://homepage1.nifty.com/algafield/sscce.html,
    that demonstrates the incorrect behaviour, because I can't guess exactly what you are doing based on the information provided.
    Don't forget to use the "Code Formatting Tags",
    see http://forum.java.sun.com/help.jspa?sec=formatting,
    so the posted code retains its original formatting.

  • Currency conversion with variable in selection mask with problems

    Hi Gurus,
    I want to implement a currency conversion as follows:
    when the query is opened a selection screen should appear and the whole data which is with Euro currency should be possible to translate in USD, GBP, FRF (depends on which currency the user is choosing).
    I did a conversion with a variable with default value USD but I am not able to insert multiple currencies like GBP and FRF as default value/ suggestion in variable.
    I created a variable on 0Currency with following adjustments:
    - Processing By: Manual Input/Default Value.
    - Reference Characteristic (0CURRENCY) Currency.
    - Variable Represents: Single Value.
    - Ready for input: checked
    - default value: USD.
    With adjustment "variable represents" > "single value" it is not possible to insert two or three currencies as default value.
    When changing "variable represents" to "multiple single values" or to "selection option" it is possible to insert two or three currencies as default value.
    But when the variable is saved with "multiple single values" or "selection option" the variable doesn´t appear in currency translation type in tab currency when selecting target currency with option "target currency from variable".
    Any idea why the variable doesn´t appear with adjustments with "multiple single values" or "selection option"?
    Or any idea how it is possible to achieve my whished currency conversion?
    Thanks in advance!

    Charlie Belt wrote:
    saplaz-
    > If I read your request properly, you would like to be able to translate values to any one currency at a time, from a possible list of currency. Remove the default value and whatever currencies are available in your RSCURR should be there.
    That´s correct. I want to have a list of currencies in which it would be possible to translate. That means clicking in selection mask and the list appears.
    That was my first thougth ... removing the default value. I removed the default value but only Euro (EUR) appeared in that list for selecting. I thought this has maybe something to do with the data which is available in the cube and that is only in EUR.
    I will check the RSCURR and what kind of currencies are available.
    cheers

  • Problem with align and Selection Tool.

    This is a weird problem which I cannot explain at all.
    I am using AI CS3 with Windows XP.
    I am having this completely random problem with the selection tool and align pallette I cannot explain.
    I have a group of objects and groups of objects I am trying to use the align pallette on.
    Sometimes when I select all of the items I want to align, either by shift-clicking each one, or by drag-selecting them I am getting a random behavior where sometimes the align button will move all of the objects COMPLETELY off of the artboard, all the way to the edge of the working area and beyond into the grey area you cannot see.
    Normally, this would be caused by a stray point somewhere way off-screen or some other cleanup oriented thing on my part. However in this case, the behavior is random and does not happen every time I hit the align button.
    Sometimes it takes items within my grouped objects (lines of text) and moves THEM completely off the work area, leaving the other items in the groups in place. Sometimes the bounding box when I drag-select the items will stretch extremely far off of the work area.
    I have even dragged the extra large bounding box, bringing the edge that was once way off screen onto the work area, in outline view, in hopes of finding the stray point or object that could be causing this. However NOTHING appears that can be causing the align to throw all of my objects off-screen.
    The random nature of this behavior and the way it sometimes affects my text objects inside of groups leads me to believe it is a program bug and nothing I am doing.
    The behavior takes place regardless if I select by dragging or by shift-clicking, and is happening in more than one file, also randomly.
    Also, choosing "align to art board" vs. "align to crop area" does nothing to change this behavior.
    It is quite irritating. I've been using illustrator since v.88 so I have enough experience to know this is not normal.
    Any help with this one would be greatly appreciated.

    When this behaviour occurs, are perhaps guides included in your selection?

  • Automator : issue with variable and path to folder

    I created a simple Automator Workflow with: A variable "Document Folder" and an action "Run shell script" with this command:
    "rsync -E -a -v -z --delete $@ /Volumes/MyBook/Backup/"
    I tested this command, It works very well in the terminal. But return me an error with Automator.
    "$@" is replaced by the Path when running, I guess my issue is that the content of the variable is " ~/Documents " . When it pass to the script it become "/Users/login/~/Documents".
    That can't works.
    A solution would be to put in the script the full path instead of "$@" but I would liketo understand why this error occur.
    Thanks.

    Automator actions return their results as a list of items. If you want your shell script to use the result of an action (for example Ask for Finder Items) as arguments, you need to set the Pass input: as arguments option, and place your statement in the for loop:
    for f in "$@"
    do
          /usr/bin/rsync -E -a -v -z --delete "$f" /Volumes/MyBook/Backup/
    done

  • Copy process instance with variables and state

    Hello,
    I want to make a kind of "snapshot" of my running BPEL instance.
    It should be possible to change some variable values of the snapshot
    and then continue the snapshot process with the changed parameters.
    Thus, I need to copy not only the BPEL description, but also the variable values,
    the state of the process and the outcome of the already finished activities.
    Any idea how this can be done ?
    Thanks in advance.
    Bernd

    Could you describe the use case? Because there are other options as well, like designing your process in such a way it can start at several distinct entrypoints, depending on the message it receives.
    I find the kind of solution you suggest very dangerous, as you try to 'hack' the BPEL engine. This makes your solution very vulnerable, as it probably will be affected by patches and new releases, whereas a more functional approach, using the standard functions, will be less so.
    Just my 2 cents, though.

  • ACL denied using Pkb but works using anonymous block with same user

    I have a recent 11g installation with a developer that is getting a access denied message when using a package but is able to run the same code manually in sqlplus and it works.
    eg. I have granted access to connect and resolve to the user BLAH.
    from sqlplus, BLAH can do
    select trim(substr(utl_inaddr.get_host_name,1,30)) from dual;
    TRIM(SUBSTR(UTL_INADDR.GET_HOST_NAME,1,30))
    serverhostname
    and get the hostname successfully, but this same line in a pkb fails when called like so
    exec func_name.something()
    BEGIN func_name.something(); END;
    ERROR at line 1:
    ORA-24247: network access denied by access control list (ACL)
    ORA-06512: at "SYS.UTL_INADDR", line 4
    ORA-06512: at "SYS.UTL_INADDR", line 35
    ORA-06512: at line 1
    ORA-06512: at "BLAH.FUNC_NAME", line 83
    ORA-06512: at line 1
    but if you were to do this same bit of code in sqlplus as follows:
    set serveroutput on
    declare
    mhost varchar(30);
    begin
    select trim(substr(utl_inaddr.get_host_name,1,30)) into mhost
    from dual;
    dbms_output.put_line(mhost);
    end;
    it works.
    I do not understand this at all. This is the same user account that owns the pkb and is running it in sqlplus. The user has been granted the connect and resolve priv through being granted a role that has this permission.
    Can anyone help me out here?

    Thanks, the oracle logic behind this doesn't make sense to me - if the user can do this action, then surely the user should be able to run the package...
    Anyway, I will try to grant directly to the user that needs the privs, but then how do I grant this privilege to multiple users, it's some awkward bit of pl/sql just to grant it to one user.
    Here is what I did:
    dbms_network_acl_admin.create_acl(acl => 'filename.xml',
    description => 'Network permissions for BLAH_USER to connect/resolve any host',
    principal => 'BLAH_USER', is_grant => TRUE, privilege => 'connect');
    dbms_network_acl_admin.add_privilege(acl => 'filename.xml', principal => 'BLAH_USER', is_grant => TRUE, privilege => 'resolve');
    dbms_network_acl_admin.assign_acl(acl => 'filename.xml', host => '*');
    grant execute on dbms_network_acl_admin to BLAH_USER;
    but this only works for 1 user and I cannot recreate this as the acl now already exists. Would I have to change filename.xml every time and do all these steps for every user?
    This is why I granted to a role and then granted that role to the BLAH_USER originally.
    Any ideas on how to make this scalable to many users or to add users to this ACL?

  • Powershell Issue with Variable and Equal Signs

    I should have been using $line.grade, but your syntax worked so thanks!

    I've been running a powershell script to create active directory accounts at our school from a csv file. I'm needing to have users placed in a specific OU based on what grade level they are in, which is a field in the csv file and I have passed into the description field in AD. To keep from writing a bunch of if statements, I thought I might could pass the description variable into my organizational unit path, but I'm having syntax issues.Here is the specific line I have issues with.Powershell'ou' = "OU=$line.description, OU=LESStudents,OU=LES,DC=school,DC=k12,DC=state,DC=us"I've tried the single quote, double quotes, escaping the equal sign and some other methods I've seen online, but haven't quite gotten it right. It just isn't recognizing OU=$line.description as a variable.
    Disclaimer - I'm not a programmer and most of this was built...
    This topic first appeared in the Spiceworks Community

  • CASE with DATE_SUB and SELECT

    Hello again,
    im looking for some help again.
    I have a table TAB_EVENT where some dates are stored to some events.
    An event can have more than one date of course.
    Im trying to code a SELECT statement and it looks like this by now:
    ,CASE
    WHEN (to_date(TEST_DATE)) in (SELECT to_date(ev.EVENT_DATE) FROM TAB_L2EVENT ev, TAB_LINK lnk, TAB_TREE tr WHERE ev.EVENT_ID = 1 AND ev.OBJ_ID = lnk.OBJ_ID AND lnk.LINK_ID = tr.NEXT_ID AND tr.NEXT = BM_NUMBER) 
    THEN 'YES'
    ELSE 'NO'
    END as F_EVENTMy problem now is, that TEST_DATE can also be in a plus/minus 30-days interval inside the in-line query.
    I searched forum and found something like
    DATE_SUB(TEST_DATE, INTERVAL 30 DAY)but im getting errors, if I just replace TEST_DATE with the code above.
    Maybe some1 can help?
    Thank you and regards
    Chris

    Hi,
    If ev.event_date stores dates, then its datatype should be DATE. You'll avoid lots of problems if you make that change.
    If it already is a DATE, don't use TO_DATE.
    At any rate, you can get the results you want by changing the IN sub-query to an EXISTS sub-query:
    ,   CASE
              WHEN  EXISTS ( SELECT 1
                                FROM   TAB_L2EVENT ev, TAB_LINK lnk, TAB_TREE tr
                   WHERE  ev.EVENT_ID = 1 AND ev.OBJ_ID = lnk.OBJ_ID AND lnk.LINK_ID = tr.NEXT_ID AND tr.NEXT = BM_NUMBER
                   AND    TO_DATE (ev.event_date, 'DD-Mon-YYYY') - TO_DATE (test_date, 'DD-Mon-YYYY')
                                      BETWEEN  -30
                               AND     30
         THEN  'YES'
         ELSE  'NO'
        END as F_EVENTWhenever you do use TO_DATE, always specify the format in the second argument. (I used 'DD-Mon-YYYY' above, but I don't know if that's actually how your strings are formatted.)
    I'm not familiar with DATE_SUB. What is it?

  • Help with IF and SELECT

    Greetings,
    I have a program where some users can request awards for themselves or other users. Only approved people can request for others.
    I have a table called OnBehalf that has the UserID of approved users.
    I have a vaiable called same, if it is = 0 it means the person is requesting on behalf of someone else.
    The problem is, everytime I make a request on behalf of someone else, even if the name is in the table as an approved requester, I get a message saying that I am not approved (msg=4)
    What am I doing wrong?
    'If requesting for someone else, check if authorized to request on behalf
    if same = 0 Then
         dim aa
         dim bb
         aa="SELECT * FROM OnBehalf WHERE UserID = '"& Requester&"' "
         set bb= conn.Execute(aa)
         'response.write (aa)
         if Not bb.EOF Then
              response.redirect "noAuth.asp?msg=4"
              response.end
         end if
    end if
    Thanx in advance

    I think your NOT in the IF shouldn't be there
    bb.EOF will be true if the user is not a valid use
    if bb.EOF = false Then
    response.write "Welcome valid user : " & bb.Fields(0).Value
    else
    response.redirect "noAuth.asp?msg=4"
    response.end
    end if
    Despite my c++ upbringing I always prefer = false and =true as its easier to read than IF NOT

  • Issue with variables and white space in powershell script that calls a command line command

    Guys,
    I have a question regarding this script. Each time I run it, it creates the share, but with a space after it. Also I need help figuring out how to put in the variable for the folder path.
    Below is the code
    $Users=Import-Csv C:\users2.csv
    foreach($User in $Users){
         $User.SNCORP
         $User.HPB
         $User
         cmd /c "net share "$User.SNCORP"=D:\Users\"$User.HPB" /grant:Everyone,FULL"
    The csv file looks like this
    HPB,SNCORP
    ccarter,carterch$
    This is my output in powershell
    PS C:\> .\shareflip.ps1
    carterch$
    ccarter
    HPB                                                         SNCORP
    ccarter                                                     carterch$
    The syntax of this command is:
    NET SHARE
    sharename
              sharename=drive:path [/GRANT:user,[READ | CHANGE | FULL]]
                                   [/USERS:number | /UNLIMITED]
                                   [/REMARK:"text"]
                                   [/CACHE:Manual | Documents| Programs | BranchCache | None]
              sharename [/USERS:number | /UNLIMITED]
                        [/REMARK:"text"]
                        [/CACHE:Manual | Documents | Programs | BranchCache | None]
              {sharename | devicename | drive:path} /DELETE
              sharename \\computername /DELETE
    Any help is greatly appreciated. 
    Christopher

    There is no need to use cmd /c. You should be able to use:
    net share "$($User.SNCORP)=D:\Users\$($User.HPB)" "/grant:Everyone,Full"
    Use showargs.exe (from the article) at the beginning of this line to see the command line PowerShell is actually running (very useful for troubleshooting).
    -- Bill Stewart [Bill_Stewart]

  • Reading videos with iphoto and select iphoto in the screen saver

    Since I've upgraded my mac with mavericks, I can not read videos in iphoto'09.
    I have an other proble: I can't select iphoto in the screen saver module.
    Can you help me? thanx

    About videos in iphoto'09: before upgrading my mac with mavericks, in order to read videos I just click on it. Now, itunes don't find the good software to read the video in iphoto.
    About selecting a new screen saver: my mac can not find the iphoto library in the right place when I'm in the screen saver module

Maybe you are looking for

  • Separate Library for 2 Different Computers

    I have 2 different computers that I need to have 2 separate libraries. The problem is my wife and I share the 'My Documents' folder. I have an iPod 60GB, 5G and I'm trying to setup her iPod shuffle. I'd like her to have a separate database/library, b

  • CAN'T INSTALL PLUGINS

    I HAVE NIK PLUGINS THAT CAN'T SEEM TO GET INSTALLED IN LIGHTROOM. EACH TIME I TRY TO ADD I GET A MESSAGE SAYING "AN ERROR OCCURRED WHILE ATTEMPTING TO LOAD THIS PLUGIN. WHAT AM I DOING WRONG ??

  • Approval status not captured in the workflow...

    Hi, In my 4 tier approval workflow, I have a user decision loop , before which a user decision step is there for approve or reject. There are two paths under user decision, one says when reject or approve and another says till last layer which then l

  • I need to download Firefox 2.0.0.20 for mac OS X 10.3

    How can I download Firefox 2.0.0.20 for mac OS X 10.3 My current Firefox is corrupted and I need to reinstall. [email protected]

  • IE8 won't open link in acrobat file

    Does anyone know any voodoo ******** that will allow me to open a link in a pdf file within the Internet Explorer 8 browser? Security Settings? Anything? Anne R.