Instructionselect in a VarChar2: how to run?

Hello everyone

In my role, I have a long enough algorithm. The code for this one is repeated 3 times as my function has a parameter that allows you to choose what types of data are inserted into the algorithm. So, in order to remove this redundant code, I have a varchar query that is different depending on the choice.
Now, my problem is that I don't know how to run it and put the result in a "for x in the & lt; Ditto & gt; »

I discovered immediate performance but this one seems to be quite some restrictions and I do not have dynamic parameters.

Here's what it looks like so far:

If choice = 1 then
query: = ' select a, b, c from myTable where a = 1'
elsif choice = 2 then
query: = ' select a, b, c from myTable where b = 5'
elsif choice = 3 then
query: = ' select a, b, c from myTable where c = 3'

& lt; result & gt; = & lt; run query & gt;

for x in)
& lt; result & gt ;)
loop
do stuff
end loop;

Is there a way to do this? Its very important for me, because it would be much easier to read and maintain the code.

respect of
Marc

Hi maschlegel

I worked on a similar problem in the past. Here's a skeleton code:

DECLARE
v_FinalSQL varchar2 (5000);
TYPE RefCurTyp IS REF CURSOR;
cQPRList RefCurTyp;
v_IsChronic varchar2 (1);
whole v_DefRespID;
whole v_VehDefID;
BEGIN
v_FinalSQL: = ' select x, y, z of... " ;
CQPRList OPEN FOR v_FinalSQL;
CQPRList LOOP FETCH IN v_DefRespID, v_VehDefID, v_IsChronic;
EXIT WHEN cQPRList % NOTFOUND;
DO SOMETHING;
END LOOP;
CLOSE CQPRList;
END;

Hope this helps
Taner Akbulut

Tags: Database

Similar Questions

  • How to run the type of object...

    HI team,

    Please let me know how to run pl/SQL object type.

    create or replace TYPE  T_PARTY_ID_LIST  AS TABLE OF T_PARTY_ID; 
    create or replace TYPE  T_PARTY_ID AS OBJECT
     (SEQ NUMBER(10,0)
     ,COUNTRY_ID CHAR(2)
     ,ID VARCHAR2(50)
     ,ID_TYPE VARCHAR(3)
     ,DATE_FROM DATE
     ,DATE_TO DATE
     );
    
    create or replace PROCEDURE P_UPDATE_RICA_COUNT_ID
     (A_PARTY_IDS IN T_PARTY_ID_LIST
     ,A_ICAP_ID  IN number
     ) as
    v_id      sa_id_registration_counts.id%TYPE;
    
    --
    BEGIN
        FOR C IN (SELECT X.id_type, X.ID FROM TABLE (CAST(A_party_ids AS T_PARTY_ID_LIST)) X
                 WHERE X.ID_Type IN ('N','P','B')
                 ORDER BY X.ID_Type)
       LOOP
    --
          BEGIN
     --             
             UPDATE sa_id_registration_counts
             SET no_of_registrations = no_of_registrations-1
             WHERE id = V_ID
                   AND id_type = C.ID_Type;
    --
             IF SQL%ROWCOUNT < 1 THEN
                RAISE NO_DATA_FOUND;
             END IF;
    --
          EXCEPTION
             WHEN NO_DATA_FOUND THEN
                BEGIN
    --
                   INSERT
                   INTO sa_id_registration_counts
                      (id ,id_type,exclude_yn,no_of_registrations)
                   SELECT V_ID,C.ID_Type,'N',1 
                   FROM dual;
    --
                EXCEPTION
                   WHEN OTHERS THEN
                      RAISE_APPLICATION_ERROR(-20000,'Error updating RICA ID count ['||SQLERRM||']');
                END;  
          END;
    --
       END LOOP;  
    --
    END;
    --
    

    I'm trying, but receive an error message

    DECLARE
      A_PARTY_IDS SCOTT.T_PARTY_ID_LIST;
      A_ICAP_ID NUMBER :=12323;
    BEGIN
    
    A_PARTY_IDS.extend(1);
      SELECT T_PARTY_ID(1,'1','1','1',null,null) INTO A_PARTY_IDS(1)
       FROM DUAL;
       
      P_UPDATE_RICA_COUNT_ID(
        A_PARTY_IDS => A_PARTY_IDS,
        A_ICAP_ID => A_ICAP_ID );
    
    END;
    Error report -
    ORA-06531: Reference to uninitialized collection
    

    I do not know why you do what you do that is row-by-row (aka slow-by-slow), when you could do all this in a single merge - something like statement:

    create or replace PROCEDURE P_UPDATE_RICA_COUNT_ID
       (A_PARTY_IDS IN T_PARTY_ID_LIST,
        A_ICAP_ID  IN number)
    as
    begin
      merge into sa_id_registration_counts tgt
      using (select x.id_type, x.id, count(*) cnt
             from   table(cast(a_party_ids as t_party_id_list)) x
             where  x.id_type in ('N', 'P', 'B')
             group by x.id_type, x.id) src
         on (tgt.id_type = src.id_type
             and tgt.id = src.id)
      when matched then
        update set no_of_registrations = no_of_registrations - src.cnt
      when not matched then
        insert (tgt.id, tgt.id_type, tgt.exclude_yn, tgt.no_of_registrations)
        values (src.id, src.id_type, 'N', 1);
    end;
    /
    

    You v_id in your procedure, but you never defined anywhere, for as far as I could tell, so I made a few assumptions about the join condition. You will need to change if necessary.

    Meanwhile, for your procedure, you should do something like:

    DECLARE
      A_PARTY_IDS T_PARTY_ID_LIST := t_party_id_list();  -- initialised the collection here
      A_ICAP_ID NUMBER :=12323;
    BEGIN  
    
      A_PARTY_IDS.extend(1);
      A_PARTY_IDS(1) := T_PARTY_ID(1,'1','1','1',null,null); 
    
      P_UPDATE_RICA_COUNT_ID(
          A_PARTY_IDS => A_PARTY_IDS,
          A_ICAP_ID => A_ICAP_ID );
    end;
    /
    

    Another thing - you seem to like selection of the many double - if you're in PL/SQL, then you can just assign variables directly (overall; there are a few exceptions, depending on your version of the database).

  • How to run execute immediate with variables

    Hi friends,
    How to run execute immediate with variables in v_stmt below?
    I don't know how to declare value I have here.
    Set serveroutput on;
    DECLARE
       i        VARCHAR (20);
       v_stmt   VARCHAR2 (100);
    
       CURSOR c
       IS
          SELECT sqlid FROM temp1;
    
    
    BEGIN
       OPEN c;
    
       LOOP
          FETCH c INTO i;
          EXIT WHEN c%NOTFOUND;
          DBMS_OUTPUT.put_line (i);
          v_stmt := 'select * from table(dbms_xplan.display_cursor('&i',null))'
          execute immediate v_stmt;
       END LOOP;
    
       CLOSE c;
    END;
    /
    Regds,
    Kunwar.

    You must first use a variable binding (named ': v' in the SQL statement in my example):

    set serveroutput on;
    DECLARE
       i        VARCHAR (20);
       v_stmt   VARCHAR2 (100);
    
       CURSOR c
       IS
           -- modified for a quick test
          SELECT sql_id FROM v$sql where child_number > 2;
    
    BEGIN
       OPEN c;
    
       LOOP
          FETCH c INTO i;
          EXIT WHEN c%NOTFOUND;
          DBMS_OUTPUT.put_line (i);
          v_stmt := 'select * from table(dbms_xplan.display_cursor(:v,null))';
          execute immediate v_stmt using i;
       END LOOP;
    
       CLOSE c;
    END;
    /
    

    However because your SELECT statement returns multiple lines, you need to adapt your code to process all rows returned (as already suggested in first response to your message).

    Instead of using the PL/SQL, I recommend you to generate a SQL file using only SQL, and then run the generated SQL file.
    For example:

    spool edx.sql
    set serveroutput on
    declare
    v_stmt varchar2(100);
    v_q char(1):='''';
    begin
    dbms_output.put_line('spool edx.log');
    for s in (select sql_id from v$sql where child_number >2)
     loop
      dbms_output.put_line('select * from table(dbms_xplan.display_cursor(' || v_q || s.sql_id || v_q || ',null));');
     end loop;
     dbms_output.put_line('exit');
    end;
    /
    spool of
    

    This generates a file similar to:

    spool edx.log
    select * from table(dbms_xplan.display_cursor('5rygsj4dbw6jt',null));
    select * from table(dbms_xplan.display_cursor('5rygsj4dbw6jt',null));
    select * from table(dbms_xplan.display_cursor('5rygsj4dbw6jt',null));
    select * from table(dbms_xplan.display_cursor('fsbqktj5vw6n9',null));
    select * from table(dbms_xplan.display_cursor('6q42j0018w7t8',null));
    select * from table(dbms_xplan.display_cursor('a5mmhrrnpwjsc',null));
    select * from table(dbms_xplan.display_cursor('3c1kubcdjnppq',null));
    select * from table(dbms_xplan.display_cursor('3c1kubcdjnppq',null));
    select * from table(dbms_xplan.display_cursor('9gkq7rruycsjp',null));
    select * from table(dbms_xplan.display_cursor('f0wj261bm8snd',null));
    select * from table(dbms_xplan.display_cursor('ab3swhv5g138y',null));
    select * from table(dbms_xplan.display_cursor('6vgvyh4xw9c5g',null));
    select * from table(dbms_xplan.display_cursor('ak5crjygnpk60',null));
    select * from table(dbms_xplan.display_cursor('9p6bq1v54k13j',null));
    select * from table(dbms_xplan.display_cursor('19x1189chq3xd',null));
    select * from table(dbms_xplan.display_cursor('7sx5p1ug5ag12',null));
    select * from table(dbms_xplan.display_cursor('730vdzhng6m6g',null));
    select * from table(dbms_xplan.display_cursor('730vdzhng6m6g',null));
    select * from table(dbms_xplan.display_cursor('0v3dvmc22qnam',null));
    select * from table(dbms_xplan.display_cursor('0v3dvmc22qnam',null));
    select * from table(dbms_xplan.display_cursor('a1zv6wju3ftgv',null));
    select * from table(dbms_xplan.display_cursor('7ng34ruy5awxq',null));
    select * from table(dbms_xplan.display_cursor('7ng34ruy5awxq',null));
    select * from table(dbms_xplan.display_cursor('b2gnxm5z6r51n',null));
    select * from table(dbms_xplan.display_cursor('b2gnxm5z6r51n',null));
    select * from table(dbms_xplan.display_cursor('g4gp07gt2z920',null));
    select * from table(dbms_xplan.display_cursor('1gu8t96d0bdmu',null));
    select * from table(dbms_xplan.display_cursor('g00cj285jmgsw',null));
    select * from table(dbms_xplan.display_cursor('g00cj285jmgsw',null));
    select * from table(dbms_xplan.display_cursor('g00cj285jmgsw',null));
    select * from table(dbms_xplan.display_cursor('bn4b3vjw2mj3u',null));
    select * from table(dbms_xplan.display_cursor('38243c4tqrkxm',null));
    select * from table(dbms_xplan.display_cursor('2abjfnvy5rkyg',null));
    select * from table(dbms_xplan.display_cursor('350f5yrnnmshs',null));
    select * from table(dbms_xplan.display_cursor('350f5yrnnmshs',null));
    select * from table(dbms_xplan.display_cursor('3s1yukp05bzg6',null));
    select * from table(dbms_xplan.display_cursor('3s1yukp05bzg6',null));
    select * from table(dbms_xplan.display_cursor('1tgukkrqj3zhw',null));
    exit
    
    PL/SQL procedure successfully completed.
    

    Edited by: P. Forstmann March 20, 2013 19:06

    Edited by: P. Forstmann March 20, 2013 19:33

  • How to run a procedure with refcursor to more

    an entry is User_id = CMSH_USER; p_Ot-num =-9999; p_ppst_flag = 'P' and I want to take the trace by running this procedure, and any1 help me, how to run this procedure below and how to use these 5 on refcursor...
     procedure Pr_get_mny(p_ot_Num      IN NUMBER,
                                     p_User_Id      IN VARCHAR2,
                                     p_Ppst_Flag IN VARCHAR2,
                                     Ref_Cur        OUT Ref_Cursor,
                                     CUR_OPT        OUT Ref_Cursor,
                                     CUR_TAXRATE    OUT Ref_Cursor,
                                     CUR_TAXHOLD    OUT Ref_Cursor,
                                     CUR_PENDGAACNT OUT Ref_Cursor
                                     ) IS

    If the goal is to Test, the best tool is SQL

    var ref_cur refcursor
    var cur_opt refcursor
    var cur_taxrate refcursor
    var cur_taxhold refcursor
    var cur_pendgaacnt refcursor 
    
    exec pr_get_mny(-9999,'CMSH_USER','P',:ref_cur,:cur_opt,:cur_taxrate,:cur_taxhold,:cur_pendgaacnt)
    
    print ref_cur
    print cur_opt
    print cur_taxrate
    print cur_taxhold
    print cur_pendgaacnt
    
  • How to run a script in environment unix and how to run this program into a toad

    Hello guys
    Please help me!
    How to run a script in the unix environment (Group of programs (cursor, programs...) stored in a file file.sql).

    file.sql luks like this


    WHENEVER OSERROR EXIT FAILURE
    WHENEVER SQLERROR EXIT SQL. SQLCODE
    SET the position
    SET serveroutput size 1000000
    coil ins2aais_jobs;
    SELECT "FILE IS: ins2aais_jobs' FROM dual;"
    SELECT "STARTED:' began, to_char (sysdate," YY/MM/DD HH24:MI:SS) TIME FROM dual; "
    DECLARE
    lv_upd_ct number: = 0;
    lv_ins_ct number: = 0;
    lv_exp_ct number: = 0;
    ---------------------

    date of lv_FROM_date;
    date of lv_to_date;
    lv_mon_or_week varchar2 (20);
    date of lv_week_end_date;
    lv_month_indicator varchar2 (8);
    -------------------------------------------------
    Aais CURSOR IS
    SELECT the ID substr (ID, 1, 7), SSN, FNAME, LNAME
    , SUCCESS, COMPENSATE, INSTALLATION
    , MODU, DRIVE, REVERSE, SUCC_RATE
    TRANS_TOTAL, FILE_NAME, WEEK_END_DATE
    RUN_DATE
    OF weekly_aais;

    -------------------------

    I aais % rowtype;


    -------------------------
    PROCEDURE p_ins (r1 aais % ROWTYPE) IS
    BEGIN
    BEGIN
    INSERT INTO AAIS_JOBS
    (ID, SSN, SUCCESS, COMPENSATE, INSTALL, MODU
    , DRIVE, REVERSE, SUCC_RATE, TRANS_TOTAL
    FILE_NAME, WEEK_END_DATE, RUN_DATE
    AAIS_FNAME, AAIS_LNAME
    )
    VALUES
    (r1.ID, r1. SSN, r1. SUCCESS, r1. COMPENSATE, r1. INSTALLATION, r1. MODU
    r1. DISK, r1. CONVERSELY, r1. SUCC_RATE, r1. TRANS_TOTAL
    r1. File_name, r1. WEEK_END_DATE, r1. RUN_DATE
    r1. FNAME, r1. LNAME
    );
    lv_ins_ct: = lv_ins_ct + 1;
    EXCEPTION
    WHILE OTHERS then
    DBMS_OUTPUT. PUT_LINE ('ERROR IN THE INSERT STATEMENT');
    DBMS_OUTPUT. Put_line (SQLERRM);
    lv_exp_ct: = lv_exp_ct + 1;
    END;

    END;

    ------------------------------

    PROCEDURE p_disp_msg IS
    BEGIN
    DBMS_OUTPUT. Put_line (' number of insertion: ' | to_char (lv_ins_ct));
    DBMS_OUTPUT. Put_line (' number of Exceptions: ' | to_char (lv_exp_ct));

    lv_ins_ct: = 0;
    lv_exp_ct: = 0;
    END;

    ---------------------------

    BEGIN

    lv_FROM_date: = to_date ('& 1', 'DD-MON-RR');
    lv_to_date: = to_date ('& 2', 'DD-MON-RR');
    lv_mon_or_week: = 'and 3';

    lv_month_indicator: = di.get_month_ind (lv_mon_or_week, lv_FROM_date, lv_to_date);

    ------------------------------------

    REMOVE FROM AAIS_JOBS
    WHERE WEEK_END_DATE = lv_to_date;

    -------------------------------------

    COMMIT;

    Aais OPEN;
    LOOP
    EXTRACT the aais IN i;
    OUTPUT WHEN aais % NOTFOUND;
    BEGIN
    p_ins (i);
    END;
    END LOOP;
    Aais CLOSE;

    commit;

    DBMS_OUTPUT. PUT_LINE ('INSERT INTO TABLE JOBS AAIS');
    p_disp_msg;


    -----------------------------------

    END;
    /
    SELECT "FINISHED: ' | '. TO_CHAR (sysdate, "MM/DD/YY HH24:MI:SS'") FROM dual
    /
    spool off
    "exit";


    and also how we organize this into a toad?


    Thank you.

    Hello

    You vous connecter connect to oracle through unix and SQL prompt, run these commands in a .sql file.

    Toad, you can run the instructions individually by selecting the sql statements or in a set with the F5 key.

    Kind regards
    AJR

  • How to run a procedure with the object as OUTPUT parameter

    Hello

    I have a procedure and it composed of 2 parameters, there is an input parameter and it's some ID (NUMBER datatype) and 2nd parameter is an output parameter and it an object type. I want to run this procedure, but not able to do the same thing. Can someone please suggest me how to run a procedure that got the object as output parameter.

    Thank you very much in advance for your support.

    Example:

    SQL> create or replace type t_obj as object (ename varchar2(10), deptno number);
      2  /
    
    Type created.
    
    SQL> ed
    Wrote file afiedt.buf
    
      1  create or replace procedure myproc (p_empno in number, obj out t_obj) is
      2  begin
      3    select t_obj(ename, deptno)
      4    into obj
      5    from emp
      6    where empno = p_empno;
      7* end;
    SQL> /
    
    Procedure created.
    
    SQL> set serverout on
    SQL> declare
      2    v_obj t_obj;
      3  begin
      4    myproc(7788, v_obj);
      5    dbms_output.put_line(v_obj.ename||','||v_obj.deptno);
      6  end;
      7  /
    SCOTT,20
    
    PL/SQL procedure successfully completed.
    
  • How to run a HTTP command in the service of database?

    Hello

    Let me start by describing my requirement.

    I would like the latitude and longitude of some given postcodes via Google/Yahoo API geocoding.

    I can run something like this

    http://maps.Google.com/maps/geo?q=$ SW1X7HT, UK & amp; amp; output = csv & amp; amp; key = my_key_value

    in my web browsers URL bar and I receive the latitude and the data lonitude code postal (7HT SW1X United Kingdom in this example).

    Since I was a little postcoes to get the data for, I like to store postal codes of entry in a table and write a PL/SQL function/procedure that executes this code in a loop.

    How to run this command inside PL/SQL and how should I store the value returned by the HTTP command above?

    Thanks in advance.

    PS: Please note that the command http may not work because I removed the key value that is specific to the user. To make it work, you need a free key value of Google.

    Published by: movilogo on August 3, 2009 10:47

    Hi movilogo,

    UTL_HTTP. Request()
    FEATURE request (url in VARCHAR2,
    power of Attorney in VARCHAR2 DEFAULT NULL,
    wallet_path IN VARCHAR2 DEFAULT NULL,
    wallet_password IN VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

    Returns a web page into a variable.
    you have to be able to access the internet from your server!

    Concerning

    Michael

  • How to run the file executable python for linux on mac?

    I have an executable file coded in python. I can run this program on linux but not on Mac.

    Do you have any idea how to run it please?

    Thank you.

    Python is available in the Terminal, which provides a unix command-line environment.

    Some python applications may need to be recompiled to run on Mac. You should maybe download and install Xcode Tools to get full access to all the compilers and related tools.

  • I can not find how to run this program on my HP50g Bessel functions...

    Hello!

    Recently, I buy my HP50g calculator and tried to find and install programs that I need... Solvesys is running, but I can't find how to operate this Bessel function program. I installed it exactly as solvesys (load the lib archive on the calculator and chargue on flash), but I can't find how to run commands, or when they are to crush with. I tried to access the list of orders directly through flash (press the arrow to the right while on archive of lib, then select from the list an eval push) but I get only a result bad argument...

    Can someone guive me a helping hand?

    The link for the program is

    http://www.HPCalc.org/details.php?id=3140

    Thanks in advance for your help

    Hi!, Ahkran:

    Happy new year and welcome to the Forum!

    (1) you need to download the library library 764, BESSEL V1.2, HP50G, in the HOME directory.

    Now, you need to install and stay permanently in memory, in any port (0, 1 or 2). Best if the option port 2 (Flash)...

    Now, reset the HP50G, with YOU and key F3 (C)...

    Find the library in Port 2, with orange right shift key and key LIB (2), with name BESSE. If necessary, use the NXT (L) key...

    Now press the function key (F1... F6), just below the word BESSE, in your HP50G.

    You have to see...

    and with NXT - key...

    Carefully read the instructions for use library 764, the .pdf file, the author.

  • How to run a Show Desktop.scf in Labview?

    Hi all

    Can someone tell me how to run a Show Desktop.scf in labview?

    Kind regards

    Shakur

    Dear GerdW

    Finally, I made this VI with a method... Let me know if any other better way is there... I m attaching VI... Look at him...

    Kind regards

    Shakur

  • Lean how to run the stop code when the highest level VI ends

    Hi people.

    I am a newbie of LV with 30 years of experience in embedded SW engineering.  I searched for how to run the stop code when a VI of highest level ends.  I found many examples, but they are horribly complicated.  A little birdie told me that such a model of simple design should not be so compilicated.

    My application is an application of high tension control to disable all HV checkpoints when the SW ends.  My VI code is running in a while loop with a stop button that leads out of the loop.  I can easily accomplish my requirement by programming with a sequence of plate that runs after the end of the main loop.  The technique of flat sequence does not work when the user clicks the Cancel button in the toolbar of façade, more than that market when the user clicks the close button of the application (X button) when you run the exe application.

    Can someone tell me please a simple technique, the code example that can show me a lean and elegant way to accomplish my task?  It doesn't have to be an obvious solution (for example a stop induced watchdog seems simple enough).

    Thank you - John Speth

    1. place this code in a VI:

    (also attached)

    Calling code in your VI of highest level like this:

  • How to run the VI developed in labVIEW 2011 in its previous versions

    Hi all

    I am currently using LabVIEW 2011 in my PC at home.

    But, all my school's computers are installed with LabVIEW 2010 and 2010 SP1.

    How to run the VI developed in LabVIEW 2011 in its previous versions?

    Is there any conveter why?

    Concerning

    Prasanth T

    Open the VI in LabVIEW 2011 and use the file menu option, save for the previous Version.

  • How to run XsdObjectGen in Visual Studio 2010?

    I have some classes that were generated with XsdObjectGen in Visual Studio 2005. Now, we're heading Visual Studio 2010.

    Does anyone know how to run XsdObjectGen in Visual Studio 2010?

    If Visual Studio 2010 does not support this tool, what is the replacement tool? But the generated XML classes must be the same, because we have other classes and third party requests for reference for the classes and the XML files generated by XsdObjectGen in 2005 VS.

    Thank you very much in advance.

    Hello

    The question you posted would be better suited in the TechNet Forums for problems of Visual studio. I would recommend posting your query in the TechNet Forums.

    Hope this helps
  • How to run a dll not found program it keeps generating start dll

    How to run a dll not found program it keeps generating start dll

    * original title - network programs network networking Internet Web site Site Web Web Site URL *.

    Hello

    1. What is the operating system installed on your computer?

    2. what program you're talking about?

    3. What is the exact error message you are getting?

    4. when exactly you get this error message?

    5. don't you make changes to the computer before the show?

    Please provide us with more information on this issue to help you best.

    In the meantime, I suggest you to download and run the latest Microsoft security on your computer Scanner and check if it helps:

    http://www.Microsoft.com/security/scanner/en-us/default.aspx

    Note: the data files that are infected must be cleaned only by removing the file completely, which means there is a risk of data loss.

  • can someone tell me how to run my iTunes after a deaf mute DEP (Data Execution Prevention) installed in my computer? Seriously, he's blocking the iTunes... for the love of God!

    can someone tell me how to run my iTunes after a deaf mute DEP (Data Execution Prevention) installed in my computer? Seriously, he's blocking the iTunes... for the love of God!

    Hi JulietZhang,
     
    -What version of the operating system are you using?
    -Have you been able to use Itunes without any problems before?
     
    Try these methods in order:
     
    Method 1: Try to add the program to the list Data Execution Prevention (DEP) and check if it helps.
    Refer to this link for steps to do the same, if you are using Windows XP:
     
    Refer to this link for steps to do the same, if you are using Windows Vista:
     
    Method 2: This issue may be caused by third-party codecs installed on your system.

    Look at Apple's site for assistance. http://discussions.Apple.com/thread.jspa?threadID=1908393

    He will explain how to uninstall Quicktime from your computer and re - simply install the program itself.

Maybe you are looking for