3D SDO_GEOMETRY too many arguments problem

Hello world

I have a problem when creating a sdo_geometry with many surfaces and encountered the problem that: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for the function.

To be more precise, in our work, we will generate some points to form a solid or a multi-surface as a form of query to run SDO_ANYINTERACTION. However, there are a lot of affected areas. I used the following function, where the number of surface is 20, it works fine. When I use 30 or 60 with matching sdo_elem_info_array and sdo_ordinate_array surfaces, it would not work with the above error.

CB.NAME SELECT the name OF CB DEMO_3D where SDO_ANYINTERACT (CB. GEOM, SDO_GEOMETRY (3007, 2157, NULL, SDO_ELEM_INFO_ARRAY (1 100 620, 1, 1003, 1.37, 1003, 1.73, 1003, 1 109, 1003, 1 145, 1003, 1 181, 1003, 1 217, 1003, 1 253, 1003, 1 289, 1003, 1 325, 1003, 1 361, 1003, 1 397, 1003, 1 433, 1003, 1 469, 1003, 1 505, 1003, 1 541, 1003, 1 577, 1003)) (((, 1 613, 1003, 1 649, 1003, 1 685, 1003, 1 721, 1003, 1 757, 1003, 1 793, 1003, 1 829, 1003, 1 865, 1003 1 901, 1003, 1 937, 1003, 1 973, 1003, 1,1009, 1003, 1,1045, 1003, 1,1081, 1003, 1,1117, 1003, 1,1153, 1003, 1,1189, 1003, 1,1225, 1003, 1,1261, 1003, 1,1297, 1003, 1,1333, 1003, 1,1369, 1003, 1,1405, 1003, 1), SDO_ORDINATE_ARRAY (...))) = "TRUE";

Right now, we use the Oracle 11 g release 1
Anyone know if there is any restriction specifying surfaces how we can have in the SDO_ELEM_INFO_ARRAY, or something else. Thanks in advance.

--------------------------------------update----------------------------------
I just tested, the total number allowed is 27 surfaces in the SDO_ELEM_INFO_ARRAY and the SDO_ORDINATES. Thank you

Best regards
Junjun

Published by: sandrine on October 21, 2010 14:57

Hi, -.
Links see the link for an insert for example.
Your case will be similar to the following:

SQL> set serveroutput on
SQL>  declare
  2  ords sdo_ordinate_array;
  3   result varchar2(20);
  4  begin
  5  ords:= sdo_ordinate_array(1,2,10);
  6   execute immediate 'select  sdo_geom.relate(sdo_geometry (3001, 2157, null, sdo_elem_info_array(1,1,1), sdo_ordinate_array(1,2,11)), ''anyinteract'', sdo_geometry(3001,2157, null,sdo_elem_info_array(1,1,1)'||
  7   ' , :ords), 0.0005)  from dual' into result using ords;
  8   dbms_output.put_line('result is: '|| result);
  9  end;
 10  /
result is: FALSE

PL/SQL procedure successfully completed.

In your case, please replace #5 with your details (in parentheses) line.
Your immediate statement execution online #6 & #7 will be something like:

execute immediate 'SELECT CB.NAME name FROM DEMO_3D CB where SDO_ANYINTERACT(CB.GEOM, SDO_GEOMETRY(3007, 2157, NULL, SDO_ELEM_INFO_ARRAY(1,1006,20, 1, 1003, 1,37, 1003, 1,73, 1003, 1,109, 1003, 1,145, 1003, 1,181, 1003, 1,217, 1003, 1,253, 1003, 1,289, 1003, 1,325, 1003, 1,361, 1003, 1,397, 1003, 1,433, 1003, 1,469, 1003, 1,505, 1003, 1,541, 1003, 1,577, 1003, 1,613, 1003, 1,649, 1003, 1,685, 1003, 1,721, 1003, 1,757, 1003, 1,793, 1003, 1,829, 1003, 1,865, 1003, 1,901, 1003, 1,937, 1003, 1,973, 1003, 1,1009, 1003, 1,1045, 1003, 1,1081, 1003, 1,1117, 1003, 1,1153, 1003, 1,1189, 1003, 1,1225, 1003, 1,1261, 1003, 1,1297, 1003, 1,1333, 1003, 1,1369, 1003, 1,1405, 1003, 1) ' ||
', : ords)) =''TRUE'' ' into result using ords;

Note that "is not double quotes.
I hope this helps.
Thank you

Tags: Database

Similar Questions

  • ORA-00939: too many arguments for works by using zones in xquery

    Running on the Oracle 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production database

    CREATE TABLE "ORT"."SAMPLE"
       ( "THEDATE" DATE,
    "THETIMESTAMP" TIMESTAMP (6),
    "STARTTIMESTAMP" TIMESTAMP (6) WITH LOCAL TIME ZONE,
    "ENDTIMESTAMP" TIMESTAMP (6) WITH LOCAL TIME ZONE
       );
    
    
    
    

    REM INSERTING into SAMPLE
    SET DEFINE OFF;
    Insert into SAMPLE (THEDATE,THETIMESTAMP,STARTTIMESTAMP,ENDTIMESTAMP) values (to_date('13-06-10 14:07:52','RR-MM-DD HH24:MI:SS'),to_timestamp('13-06-19 14:27:52.000000000','RR-MM-DD HH24:MI:SS.FF'),to_timestamp('13-06-19 10:34:04.586000000','RR-MM-DD HH24:MI:SS.FF'),to_timestamp('13-06-19 15:05:38.805000000','RR-MM-DD HH24:MI:SS.FF'));
    
    
    
    

    the following query triggers ora-00939

    SELECT XMLQUERY('for $v in fn:collection("oradb:/ORT/SAMPLE")
    let $date1 := $v/ROW/STARTTIMESTAMP/text()
    let $date2 := $v/ROW/ENDTIMESTAMP/text()
    return if ($date1 < $date2) then (concat($date1," date is less than ", $date2)) else (concat($date1," date is greater than ", $date2)) ' returning content) from dual;
    
    

    ORA-00939: too many arguments to function

    00939 00000 - "too many arguments for the function.

    * Cause:

    * Action:

    any ideas?

    This is a bug related to the rewriting of XQuery.

    It works with the NO_XML_QUERY_REWRITE indicator:

    SELECT / * + no_xml_query_rewrite * /.

    XMLQUERY)

    but you should probably open a SR for this.

  • mod_plsql: /pls/apex/wwv_flow.accept HTTP-400 too many arguments passed.

    Hi all

    I want a solution, I have a report that the ppt that r fectches stored in db, if I'm looking for more it results in error so I reduced the results and it was working fine. Now I see that it gives the same error althorugh (as below), that it worked very well by reducing query results. Can someone help me please in the present.

    the error is

    Bad request
    Your browser has requested that this server could not understand.
    mod_plsql: /pls/apex/wwv_flow.accept HTTP-400 too many arguments passed. At 3250 parameters. Upper limit is 2000



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

    Server Oracle - HTTP - Server Oracle-Application-Server-10g/10.1.3.1.0 at insightapps.oraclecorp.com Port 80

    See also the following thread: HTTP-400 too many arguments passed

  • too many synchronization problem with creative cloud layers

    I have a PSD I'm syncing to creative cloud, my file currently 1447 layers by the method of counting that I used through article of the blog below. My account of the layer is < Cloud 1500, but creative thinks I have over 7,000. There seems to be a large gap between the here and so this is originally my files is not to be treated by creative cloud.

    Anyone can shed some light.

    Link to the Article of the Blog: http://bjango.com/articles/howmanyphotoshoplayers/

    Link to screenshot of layers: http://1drv.ms/1FnkCDp

    Text Pad doc with all the layers in this link: http://1drv.ms/1Bof4NN

    Please see: too much problem with creative sync cloud layers

    (Double Post)

  • Too many fonts problem

    I have 922 fonts in my police folder in Control Panel. This create a few problems. When I start excel or vlc it show msg that you have more than 500 fonts or another msg.

    I want to keep only the system fonts and remove all the fonts that are installed outdoors or by me.

    but I don't know that that system that are manually installed fonts.

    Please give me a solution I can delete unnecessary or manually installed fonts.

    I have 922 fonts in my police folder in Control Panel. This create a few problems. When I start excel or vlc it show msg that you have more than 500 fonts or another msg.

    I want to keep only the system fonts and remove all the fonts that are installed outdoors or by me.

    but I don't know that that system that are manually installed fonts.

    Please give me a solution I can delete unnecessary or manually installed fonts.

    a web solution, there are other

    http://www.ExtremeTech.com/Article2/0, 2845,1786005,00.asp

  • How to solve the problem of "too many redirects?

    How can I solve the problem of "too many redirects" on my Mac Book Pro running OS X Yosemite worm. 10.10.5?

    Safari: "unable to open the page, too many redirects."

  • App problem creates too many handles, PC crashes, how do I know why and stop it?

    We have a problem application that creates too many handles (about 3000 every 2 seconds), but it does so only with certain PC which have a conexant onboard sound, how can I find more information about why the handles are consumed at such a pace? (winxpsp3, dell optiplex 390)
    Application uses a wrapper.exe and seems to use a lot of Flash/Shockwave/Java. (Range of software active Teach of Pearson).
    The handles of process SYSTEM seem to be created as the registry constantly queried for (relative to the sound card) non-existent registry keys.
    His conexant card drivers were installed as a local administrator, and update the BIOS & PC drivers not yet had effect.

    Once the number of handles starts to get in the Millions, the PC grinds to a stop/crashes(usually takes less than 30 mins!) coup!

    Any help, suggestions accepted with gratitude.
    Thank you very much
    Dave.

    Hello

    Your question of Windows is more complex than what is generally answered in the Microsoft Answers forums. It is better suited for the IT Pro TechNet public. Please post your question in the TechNet Windows Networking forum.

    http://social.technet.Microsoft.com/forums/en/w7itpronetworking/threads

  • Resolution of the problems of performance of MS said there are too many programs running at startup

    I ran MS performance problems resolution and it says I have too many programs running at startup.  Thank you for your help.

    * original title - can say it please, so I can understand, lol, exactly what programs are needed to startup.*

    Hi DjDenizeri,

    You can try to perform a clean boot and then turn on only the programs that you think you have need in the ultility system configuration:
    I hope this helps.
  • Problems with too many user profiles on computers Windows 7 Professional?

    Is anyone aware of any issues related to Windows 7 computers when too many user profiles are created on the computer. I work in a school and I recently read an article by someone in another educational environment, indicating that they were having problems when too many profiles have been created on a computer.

    Given that integrated user profiles manager only allows you to delete each one profile, it's almost an option to the volume of user profiles that exist in such a laboratory environment. Remove Group Policy Computer Configuration-> policies-> administrative templates-> system-> user-> user profiles profiles of a certain number of days on system restart
    which exists in Server 2008 R2 does not.

    I appreciate your comments.

    Hi Skenny10,

    Your question of Windows 7 is more complex than what is generally answered in the Microsoft Answers forums. It is better suited for the IT Pro TechNet public.

    Please post your question in the Forums in TechNet Windows Server.

    Gokul - Microsoft Support

    [If this post was helpful, please click the button "Vote as helpful" (green triangle). If it can help solve your problem, click on the button 'Propose as answer' or 'mark as answer '. [By proposing / marking a post as answer or useful you help others find the answer more quickly.]

  • Too many problems with the latest version of Lightroom

    Hi all

    I have too many problems with the latest version of Lightroom (CC 2015.2.1 1046594)

    In fact, the latest version of 3 or 4 were bad: instead of doing better, I always had more problems.

    So I would like to go back to a previous version of lightroom

    Adobe customar care, in Italy, is unnecessary:

    they can just to:

    -looking for answer on this forum

    -saying "you solve your problems just with the de-insall and re-install it.

    stop, no more...

    in this way they create me a lot fo iusses...

    I use the English version of the PS and LR, but they made me reinstall the Italian version of CC because it has been blocked

    the result was that CC does not recognize software, due to a different language version

    so, I contacted again Adobe Customer Care... they said "no problem, uninstall LR, delete these files and install this...

    I did and I let go 2 years to develop the parameters on the correction of the colors for my clients because they told me to remove a folder, I need!

    so, I ask you now if there is a way to return to a previous version of lightroom, any previous version...

    I never found better performance in more recent versions...

    I've always found, performance slower, more problems...

    personal idea: I do not understand why adobe are boicotting itself, but I think he do!

    Thanks to you all

    Hi ramontillo,

    6.3/CC 2015.3 Lightroom is now available - try to update to this version which includes the previous import feature, bug fixes and new support for photo/target device profile: Lightroom CC 2015.3 / 6.3 now available

    Concerning

    Pete

  • Scalability problems - too many Active Sessions?

    Hello

    I'm having a problem with an app that I built for one of the College campus, that I work. The application is a queue system where there are stations for students to access your room, admin stations where staff can see these students and "call", and displays outside every office employee that shows the student who was called. There are about 20 of the latter type of billboards. I have the following code in my footer to query the DB for most recent students called for a specific room:
    <script type="text/javascript">
    <!--
    var refresh_region = function( workstation_in, div_in ) {
        $.get(
            'wwv_flow.show', 
            {"p_request"      : 'APPLICATION_PROCESS=F_NEXT_STUDENT',
             "p_flow_id"      : $v('pFlowId'),      //app id
             "p_flow_step_id" : $v('pFlowStepId'),  //page id
             "p_instance"     : $v('pInstance'),    //session id
             "x01"            : workstation_in
            },
            function(data) {
                $(div_in).html(data);
            }
        );
        setTimeout(function() { refresh_region( workstation_in, div_in ) }, 5000);
    }
    
    refresh_region( '&P7_WORKSTATION_IN.', '#next_student_div' );
    //-->
    </script>
    The process of OnDemand, F_NEXT_STUDENT executes the query and returns the result:
    select a.FIRST_NAME || ' ' || a.LAST_NAME
    into   full_name
    from   ONESTOP_QUEUE a
    where  a.WORKSTATION_ID_CALLED = in_workstation_id
    and    a.STATUS = 'CALLED'
    and    a.QUEUE_ID = (
       select min( c.QUEUE_ID )
       from   ONESTOP_QUEUE c
       where  c.WORKSTATION_ID_CALLED = in_workstation_id
     and    c.STATUS = 'CALLED');
    However, when all these display panels is turned on (and I use the code as follows in the other pages for similar purposes) the application become slow and eventually unresponsive. As a first step, we have the application running a box with Oracle XE. Finally, we have migrated to a full blown installation 11g with APEX listener and GlassFish. My DBA said everything looks ok on the side of the DB, so I tried to dig into other areas to see where the bottleneck can be. After inspecting the report of Active Sessions in the APEX, I noticed that there are a ton of connections being generated (> 30 000). This is not a good thing for me and I try to understand what I am doing wrong.

    At first I used $. post() instead of $. get (). I was also using setInterval() instead of a setTimeout() loop. However, none of these changes really seem to help the situation. I am at a loss to know how else to improve the performance of this application. Any suggestions on what I can try?

    Most of the features of the app is on apex.oracle.com
    WORKSPACE: SCCC_TEST
    USER/PASS: TEST/test
    Direct URL to the page (I spend worksation ID): http://apex.oracle.com/pls/apex/f?p=65890:7:0:P7_WORKSTATION_IN:ADMISSIONS_1

    Thanks in advance for any help.

    Hello

    are you sure that each AJAX request generates a new APEX session? Because it is based on your downloaded app all right. You can check that by running the following query. It will also show you how long it took APEX to meet your demand for AJAX (elapsed_time). I think that the elapsed time will be the key to find out why your application becomes unresponsive if too many customers are returning. The goal should be that the AJAX request ends as soon as possible. For example 1 sec would be for many, because if you have 20 parallel AJAX requests at the same time, this could have an impact on your DB. You can share your average time?

    select apex_session_id, to_char(view_date, 'DD.MM.YYYY HH24:MI:SS') as view_date, elapsed_time, application_info
      from apex_workspace_activity_log
     where application_id = 65890
       and page_id = 7
       and view_date >= sysdate - 0.1
     order by 1, 2, 3
    

    I don't know how much data is stored in the ONESTOP_QUEUE table, but it may be useful to adjust your statement used in F_NEXT_STUDENT. On apex.oracle.com, the plan of the explain output shows at least he uses twice a scan interval on index ONESTOP_QUEUE_IDX. For inside MIN instruction it is well, but the external SQL should just do a search PK using QUEUE_ID. This is why I would like to delete

    a.WORKSTATION_ID_CALLED = in_workstation_id and a.STATUS = 'CALLED'
    

    to force the index seek PK using QUEUE_iD.

    I also suggest that you make your JavaScript code on the page 5 and 7 more transparent. He is currently hiding in the region or footer HTML. I would say to move JS code in the attributes of the page 'Function and Global Variable declaration' and ' run when Page Loads. BTW, there is no need to use $(document) .ready in "Run when the Page loads", because internally, we already use $(document) .ready.

    Or instead of using your own JavaScript code you can download the plugin http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-plug-ins-182042.html#dynamic "Timer" and use rather dynamic actions. On page 5 you can use the action "Refresh" to update your classic report and on page 7 you can use an action to "Set the value" to run your query. I think it would make your page easy to read for others.

    Concerning
    Patrick
    -----------
    My Blog: http://www.inside-oracle-apex.com
    APEX Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

  • Problem with Oracle Fusion of declarations (PL/SQL: ORA-00913: too many values)

    Hi all

    I use the Sub merge statement and I'm getting too many questions of lines when I'm compiling.

    BEGIN

    FOR te_rec IN (SELECT / * + parallel(ts,4) * / telcos_eligible te.dtv_acct_num you, telcos_setup ts, tp telcos_partners)
    WHERE tp.telcos_name = UPPER ((p_telcos_name))
    AND ts.partner_id = tp.partner_id
    AND te.ts_id = ts.ts_id) LOOP


    MERGE INTO tcs_accounts
    WITH THE HELP OF)
    SELECT / * + DRIVING_SITE (a) * / account_id, a.subscriber_id, status, account_type FROM account@tcs_to_paris an a.subscriber_id WHERE the = te_rec.dtv_acct_num
    ) paris_accounts
    WE (tcs_accounts.subscriber_id = paris_accounts.subscriber_id)

    WHEN MATCHED THEN
    GAME UPDATE
    account_type = paris_accounts.account_type,
    subscriber_id = paris_acounts.subscriber_id,
    status = paris_accounts.status
    WHEN NOT MATCHED THEN
    INSERT (account_id, subscriber_id, status_account_type)
    VALUES (paris_accounts.account_id, paris_accounts.subscriber_id, paris_accounts.status, paris_accounts.account_type);



    END LOOP;

    END;

    Can you let me know what is the problem here.

    Thank you
    MK.

    >
    WHEN NOT MATCHED THEN
    INSERT (account_id, subscriber_id, status_account_type) - the problem here: STATUS_ACCOUNT_TYPE
    VALUES (paris_accounts.account_id, paris_accounts.subscriber_id, paris_accounts.status, paris_accounts.account_type);
    >

    Comma after STATUS instead of underscore (_), otherwise, you have only three columns instead of four:
    (.. STATUS, ACCOUNT_TYPE)

  • Password Lock problem. Too many failed attempts.

    My computer is locked because of too many password attempts failed.

    I know my password, but my kids played with him and based on the
    Enter the key too many times in the log on screen.

    Now, if I have the password, it will not accept
    the password more.

    How to unlock my computer, so he will accept my correct password
    Once again?

    Of course, Microsoft would have not designed this software
    so that if a stranger, or my child, because of many down
    attempts would not only locked their output, but
    Me too.

    There must be a way to unlock this computer, if I
    the correct password.

    If that is the only available Administrator Profile (you need to be an administrator to fix this), enable the Hidden Administrator Account (HAA) using http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?&lang=en&cr=US&guid=&sloc=en-us&dg=microsoft.public.windows.vista.administration_accounts_passwords&p=1&tid=d20f9db4-7b2c-48be-a087-7835dc2a9055&mid=d20f9db4-7b2c-48be-a087-7835dc2a9055.  If you don't remember the password, try nothing because that's probably what you (or seller) did during the installation.  If you have another administrator account, sign in on that one.  Once you're connected, go to the locked account and use manage anouther account to access and then reset the password (do it with any other such accounts).  Once that is done, don't forget to disable the HAA to save it in case it is necessary once again and for safety reasons (since people often try to hack into systems using this account).  Do NOT use the HAA as your administrator account because if you lose the only administrator on the system account or it is damaged again, then you're watered.  You must keep two administrator accounts and the standard account for everyday use by yourself (create these accounts now while you think about it if this is not the case).

    I hope this helps.

    Good luck! Lorien - a - MCSE/MCSA/network + / A +.

  • overloading a DATE with time STAMP function to avoid the "too many declarations.

    CREATE OR REPLACE PACKAGE util
    AS
      FUNCTION yn (bool IN BOOLEAN)
        RETURN CHAR;
    
      FUNCTION is_same(a varchar2, b varchar2)
        RETURN BOOLEAN;
    
      FUNCTION is_same(a date, b date)
        RETURN BOOLEAN;
    
      /* Oracle's documentation says that you cannot overload subprograms
       * that have the same type family for the arguments.  But, 
       * apparently timestamp and date are in different type families,
       * even though Oracle's documentation says they are in the same one.
       * If we don't create a specific overloaded function for timestamp,
       * and for timestamp with time zone, we get "too many declarations 
       * of is_same match" when we try to call is_same for timestamps.
       */
      FUNCTION is_same(a timestamp, b timestamp)
        RETURN BOOLEAN;
    
      FUNCTION is_same(a timestamp with time zone, b timestamp with time zone)
        RETURN BOOLEAN;
    
      /* These two do indeed cause problems, although there are no errors when we compile the package.  Why no errors here? */
      FUNCTION is_same(a integer, b integer) return boolean;
    
      FUNCTION is_same(a real, b real) return boolean;
    
    END util;
    /
    
    CREATE OR REPLACE PACKAGE BODY util
    AS
      /********************************************************************************
         NAME: yn
         PURPOSE: pass in a boolean, get back a Y or N
      ********************************************************************************/
      FUNCTION yn (bool IN BOOLEAN)
        RETURN CHAR
      IS
      BEGIN
        IF bool
        THEN
          RETURN 'Y';
        END IF;
    
        RETURN 'N';
      END yn;
    
      /********************************************************************************
         NAME: is_same
         PURPOSE: pass in two values, get back a boolean indicating whether they are
                  the same.  Two nulls = true with this function.
      ********************************************************************************/
      FUNCTION is_same(a in varchar2, b in varchar2)
        RETURN BOOLEAN
      IS
        bool boolean := false;
      BEGIN
        IF a IS NULL and b IS NULL THEN bool := true;
        -- explicitly set this to false if exactly one arg is null
        ELSIF a is NULL or b IS NULL then bool := false;
        ELSE bool := a = b;
        END IF;
        RETURN bool;
      END is_same;
    
      FUNCTION is_same(a in date, b in date)
        RETURN BOOLEAN
      IS
        bool boolean := false;
      BEGIN
        IF a IS NULL and b IS NULL THEN bool := true;
        -- explicitly set this to false if exactly one arg is null
        ELSIF a is NULL or b IS NULL then bool := false;
        ELSE bool := a = b;
        END IF;
        RETURN bool;
      END is_same;
      
      FUNCTION is_same(a in timestamp, b in timestamp)
        RETURN BOOLEAN
      IS
        bool boolean := false;
      BEGIN
        IF a IS NULL and b IS NULL THEN bool := true;
        -- explicitly set this to false if exactly one arg is null
        ELSIF a is NULL or b IS NULL then bool := false;
        ELSE bool := a = b;
        END IF;
        RETURN bool;
      END is_same;
    
      FUNCTION is_same(a in timestamp with time zone, b in timestamp with time zone)
        RETURN BOOLEAN
      IS
        bool boolean := false;
      BEGIN
        IF a IS NULL and b IS NULL THEN bool := true;
        -- explicitly set this to false if exactly one arg is null
        ELSIF a is NULL or b IS NULL then bool := false;
        ELSE bool := a = b;
        END IF;
        RETURN bool;
      END is_same;
    
      /* Don't bother to fully implement these two, as they'll just cause errors at run time anyway */
      FUNCTION is_same(a integer, b integer) return boolean is begin return false; end;
      FUNCTION is_same(a real, b real) return boolean is begin return false; end;
      
    END util;
    /
    
    declare
     d1 date := timestamp '2011-02-15 13:14:15';
     d2 date;
     t timestamp := timestamp '2011-02-15 13:14:15';
     t2 timestamp;
     a varchar2(10);
     n real := 1;
     n2 real;
    begin
     dbms_output.put_line('dates');
     dbms_output.put_line(util.yn(util.is_same(d2,d2) ));
     dbms_output.put_line(util.yn(util.is_same(d1,d2) ));
     dbms_output.put_line('timestamps'); -- why don't these throw exception?
     dbms_output.put_line(util.yn(util.is_same(t2,t2) ));
     dbms_output.put_line(util.yn(util.is_same(t,t2) ));
     dbms_output.put_line('varchars');
     dbms_output.put_line(util.yn(util.is_same(a,a)));
     dbms_output.put_line(util.yn(util.is_same(a,'a')));
     dbms_output.put_line('numbers');
     -- dbms_output.put_line(util.yn(util.is_same(n,n2))); -- this would throw an exception
    end;
    /
    Originally, I had just the a function with the arguments of VARCHAR2. It worked not correctly because when the dates were gone, the automatic conversion into VARCHAR2 lowered the timestamp. So, I added a 2nd function with the arguments to DATE. Then I started to get "too many declarations of is_same exist" error during the passage of time stamps. This made no sense to me, so, although documentation Oracle says you can't do this, I created a 3rd version of the function, to manage the TIMESTAMPS explicitly. Surprisingly, it works fine. But then I noticed that he did not work with TIMESTAMP with time zones. Therefore, the fourth version of the function. Docs of the Oracle say that if your arguments are of the same family, you can't create an overloaded function, but in the example above shows, it's very bad.

    Finally, just for grins, I created the functions of number two, one number, the other with REAL and even these are allowed - they are compiled. But then, at runtime, it fails. I'm really confused.

    Here's the apparently erroneous Oracle documentation on this subject: http://docs.oracle.com/cd/B12037_01/appdev.101/b10807/08_subs.htm (see overload subprogram names) and here are the different types and their families: http://docs.oracle.com/cd/E11882_01/appdev.112/e17126/predefined.htm.

    Published by: hot water on 9 January 2013 15:38

    Published by: hot water on 9 January 2013 15:46

    >
    So, I added a 2nd function with the arguments to DATE. Then I started to get "too many declarations of is_same exist" error during the passage of time stamps. It makes no sense for me
    >
    This is because when you pass a TIMESTAMP Oracle cannot determine whether to implicitly convert to VARCHAR2 and use your first function or implicitly convert to DATE and use your second function. Where the "too many declarations" error exist.
    >
    , even if said Oracle documentation you can not do, so I created a 3rd version of the function to manage the TIMESTAMPS explicitly. Surprisingly, it works fine. But then I noticed that he did not work with TIMESTAMP with time zones.
    >
    Perhaps due to another error "too many declarations? Because now, there will be THREE possible implicit conversions that might be made.
    >
    Therefore, the fourth version of the function. Docs of the Oracle say that if your arguments are of the same family, you can't create an overloaded function, but in the example above shows, it's very bad.
    >
    I think that the documentation, of the family of 'date', is wrong as you suggest. For WHOLE and REAL, the problem is that those are the ANSI data types and are really the same Oracle data type; they are more like "alias" that different data types.

    See the doc of SQL language
    >
    ANSI SQL/DS and DB2 data types

    The SQL statements that create tables and clusters allows also ANSI data types and products IBM SQL/DS and DB2 data types. Oracle recognizes the ANSI or IBM data type name that differs from the Oracle database data type name. It converts the data type for the equivalent Oracle data type, stores the Oracle data type under the name of the column data type and stores the data in the column in the data type Oracle based on the conversions listed in the following tables.

    INTEGER NUMBER

    INT

    SMALLINT
    NUMBER (38)

    FLOAT (Note b)

    DOUBLE-PRECISION (Note c)

    REAL (Note d)
    FLOAT (126)

    FLOAT (126)

    FLOAT (63)

  • Too many attempts of incorrect verification

    I answered the wrong questions in two attempts.

    Later / again changed the questions and answers. To emergency email.

    But whenever I try to enter new responses, this message appears...

    Too many attempts of incorrect verification

    You made too many attempts to answer your security questions. You can try again later or use your rescue email address to reset your security information.

    Please I want a solution to this problem

    Hello

    If you are unable to reset your security questions, you will need to contact the Apple Support.

    The information is available here:

    (I'm afraid that no one here can solve the problem for you.) You don't talk to Apple here - it is a community based on the user).

    More information:

    If you forgot the answers to your questions of security of Apple ID - Apple Support

Maybe you are looking for