Oracle exporting query

Hi, I was wondering if there is a way in standard oracle 10g for exporting of query result to a file?
This is the scenario,
I have a script which have a simple query, eg, select * from tableA.
I would like to be able to run a sql command to the database and have the database save the result to file
eg
export: select * from tableA: to C:/testfolder/export.blah : end export
I was hoping to avoid having to store the result into resultsets and then writing it to file
Please advice thanks :)

I have a script which have a simple query, eg, select * from tableA.
export: select * from tableA: to C:/testfolder/export.blah : end export
I was hoping to avoid having to store the result into resultsets and then writing it to filethe SQL "scrpit" file named "myselect.sql" should contains as follows
spool capture.log
select * from tableA;
spool off
then do
sqlplus username/password @myselect.sql
Edited by: sb92075 on Jan 5, 2010 7:18 PM

Similar Messages

  • ORACLE 8I EXPORT의 QUERY OPTION 기능

    제품 : ORACLE SERVER
    작성날짜 : 2000-09-19
    Oracle 8i EXPORT의 Query Option 기능
    ====================================
    Oracle 8i에서는 export 작업 수행 시 Query Option을 이용하여 테이블의
    부분적인 추출이 가능하다.
    SQL> select empno, ename, job, sal from emp order by job;
    EMPNO ENAME JOB SAL
    7788 SCOTT ANALYST 3000
    7902 FORD ANALYST 3000
    9999 홍길동 ANALYST 2000
    7369 SMITH CLERK 800
    7876 ADAMS CLERK 1100
    7934 MILLER CLERK 1300
    7900 JAMES CLERK 950
    7566 JONES MANAGER 2975
    7782 CLARK MANAGER 2450
    7698 BLAKE MANAGER 2850
    7839 KING PRESIDENT 5000
    7499 ALLEN SALESMAN 1600
    7654 MARTIN SALESMAN 1250
    7844 TURNER SALESMAN 1500
    7521 WARD SALESMAN 1250
    위와 같이 구성된 EMP 테이블에서 만일 'MANAGER'로 JOB을 가진 사원중 SAL
    컬럼이 2500이상인 레코드를 export하고 싶다면, 다음과 같이 수행하면 된다.
    % exp scott/tiger tables=emp query=\"where job=\'MANAGER\' and sal\>=2500\"
    Export: Release 8.1.5.0.1 - Production on Tue Sep 19 16:14:15 2000
    About to export specified tables via Conventional Path ...
    . . exporting table EMP 2 rows
    exported
    Export terminated successfully without warnings.
    한글 컬럼에 대해서도 동일한 where 조건에 지정이 가능하다.
    % exp scott/tiger tables=emp query=\"where ename like \'홍%\'\"
    V8.1.5 버젼에서 제공되는 Query 옵션의 특징:
    1. 테이블 레벨의 export 명령어에서만 가능하다.
    2. Direct 옵션과 함께 사용될 수 없다.
    3. Nested 테이블을 갖는 테이블에는 적용할 수 없다.
    4. Partition 테이블에 대한 export에도 적용가능하다.
    5. Import 명령에는 적용되지 않는다.

    Thanks Guys,
    I am still a bit lost though...
    It may be simply a matter of me finding Oracle 8i so I can do what I need to do.
    Where can I get Orcale 8i from? Does anybody have it? The oracle site only has a version back to 9.2 I queried with a employee from Oracle University here in Australia, and he suggested asking in the forums.
    Just so you know what I'm trying to do:
    Data Server:
    Running Aix with Oracle 7.14... actually could be 7.41 - I'll check today.
    This system will not be upgraded to any later version of Orcale, because systems are in place, and core systems at our other sites have to be the same. (my project is a local one)
    Web Server:
    Running XP profession with IIS and using ASP (active server pages)
    Currently running Oracle 10g, and ASP code connects to the local database on this machine via an ODBC connection.
    At the moment, I have scripts on the Aix server that dumps data from Oracle 7.x into a .csv file.
    Then, I have scripts that copy those csv files to the XP server, and they are imported to the local Oracle 10g database.
    To display this data on the website, I use ASP via the odbc connection to query the local database on the XP server.
    As said in my previous post, there must be an easier way to do this.
    I need a local database on the XP server too, and am thinking the best way is to downgrade to 8i.
    Can anybody tell me where I can get 8i to try this out? I have been trying to reasearch this for a while now without luck. Any help would be appreciated, and thanks for those who have replied so far.
    -Tom

  • EXPORT 시 QUERY OPTION에 대한 사용 예(ORACLE 8I 이상)

    제품 : ORACLE SERVER
    작성날짜 : 2004-03-17
    EXPORT 시 QUERY OPTION에 대한 사용 예(ORACLE 8I 이상)
    ============================================
    PURPOSE
    ============
    oracle 8i에서 export 시 query option에 대한 사용 예
    8i에서 export의 query syntax 를 이용하여 table data의 한 부분만 exporting 이 가능
    - 8i 에서 select 문장의 where 절을 사용하는 것처럼 export 시에 부분적으로 table data 를 받아 낼수 있는 기능을 소개 한다.
    - Direct 옵션은 사용될 수 없다..
    - where 절에 해당하는 export utility는 query parameter 를 사용한다.
    UNIX syntax:
    - Example:
    1.SCOTT.Emp table의 ename 이 JAME과 비슷한 이름의 data 를 export ..
    exp scott/tiger query=\"where ename like \'JAME%\'\" tables=emp file=exp.dmp log=exp.log
    2. employee와 cust table에서 new york 주의 data 만 export ..
    exp scott/tiger query=\"where st=\'NY\'\" tables=(employee,cust) file=exp.dmp log=exp.log
    query 문장에서 UNIX reserved characters( ", ', ,< .. 등) 를 사용하는 경우에는 escape ('\') 을 반드시 사용해야 한다.
    예)query=\"where JOB = \'SALESMAN\' and salary \< 1600\"
    더 중요한 것은 command line에서 export option을 사용할때는 반드시 escape 이 있어야 하나
    parfile을 사용할때는 eacape이 불필요하다.
    예를 보면 .. p라는 이름의 file을 다음과 같이 생성
    tables=emp query="where job='SALESMAN'"
    parfile을 이용해서 export 를 실행해 보면
    [rmtdchp6]/apac/rdbms/64bit/app/oracle/product/9.2.0> exp scott/tiger parfile=p
    Export: Release 9.2.0.4.0 - Production on Wed Mar 17 00:12:34 2004
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
    Export done in US7ASCII character set and AL16UTF16 NCHAR character set
    server uses KO16KSC5601 character set (possible charset conversion)
    About to export specified tables via Conventional Path ...
    . . exporting table EMP 4 rows exported
    와 같이 정상 처리 됨을 알수 있다.
    만일 command line에서 위의 내용을 실행하게 되면 다음과 같이 error 를 만난다.
    exp scott/tiger tables=emp query="where job='SALESMAN'"
    LRM-00101: unknown parameter name 'job'
    EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
    EXP-00000: Export terminated unsuccessfully
    command line에는 query 내에 single(')나 double quotes(") 를 사용한다면 반드시 double quotes(") 를 사용하여
    query 문을 묶어야 한다.그러나 query 내에서 single ('')나 double quotes(") 를 사용하지 않는다면 single quotes (')을 사용하여
    query 문을 수행할 수도 있다..
    다음 예를 보면..
    1>exp scott/tiger tables=emp query=\'where deptno=20\'
    Export: Release 9.2.0.4.0 - Production on Wed Mar 17 00:22:00 2004
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
    Export done in US7ASCII character set and AL16UTF16 NCHAR character set
    server uses KO16KSC5601 character set (possible charset conversion)
    About to export specified tables via Conventional Path ...
    . . exporting table EMP 4 rows exported
    2>exp scott/tiger tables=emp query=\'where job=\'SALESMAN\'\'
    LRM-00112: multiple values not allowed for parameter 'query'
    EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
    EXP-00000: Export terminated unsuccessfully
    즉.. 정리를 하자면
    command line에서 query 내에 '," 을사용하지 않는 다면 '나 " 으로 query option을 사용할수 있다
    query=\'where deptno = 20\'
    query=\"where deptno = 20\"
    query=\'where deptno \< 2\'
    (이 경우 single 이나 double quotes 을 둘다 사용할수 있다.)
    parfile을 사용하는 경우에는 다음과 같이 단순하게 사용이 가능하다.
    query='where deptno = 20'
    query="where deptno = 20"
    query='where deptno < 20'
    WINDOWS NT / 2000 와 NETWARE syntax:
    다음의 자료를 참조바란다.
    Example:
    EXP demo/demo tables=emp file=exp1.dmp query="""where deptno>30"""
    double quotes(") 를 둘러 싸는 경우에는 space 가있으면 안된다.
    parfile의 사용은 다음과 같이 하시면 됩니다.
    file=exp66.dmp
    query="where deptno > 20"
    tables=(emp)
    log=log66.txt
    userid=scott/tiger
    Explanation
    Windows NT or Win2000의 경우 command line에서는 3 double quotes 이 필요하고
    'PARFILE 을 사용하는 경우에는 double quotes(") 한번만 필요함
    Reference Documents
    Oracle8i Utilities guide
    Note:91864.1

  • Oracle 11G - Oracle AWR query execution time in report

    I have used AWR tool of oracle 11G. I have exported query historical statistics of production databaser using awrextr.sql and then load the exported dump file using awrload.sql script.
    Then i used awrrpti.sql and awrsqrpi.sql for generating report of sql queries. Every thing is working fine and generated reports are also very helpful, but report does not show the exact time when the query was executed. How can i get the actual time when the query was executed ?
    any help please ?

    If you would have consulted the Oracle Reference Manual to get the view descriptions, you should have your question is a rhetorical one with the answer NO.
    This is because every statement can be executed one or more times, and Oracle would need to keep track of all individual executions.
    I do agree most 'applications' do not use bind variables, and consequently only have unique statements, but Oracle didn't take that into account, and rightly so.
    Sybrand Bakker
    Senior Oracle DBA

  • Export query result to csv using Export Wizard

    Been a decade since I last used Oracle and related tools.
    I had to use Oracle server again, I have a query over multiple tables, I am to run a scheduled script that will spit out the query result as a csv file.
    I started with SQL Developer Export wizard, in step "Specify Data", I am at a loss, where to specify the query itself? I see a Name,Schema,Type input, a text area below, Up,UpAll,Down,DownAll buttons etc etc. Where do I specify my query here? Can someone please help?
    Is this the best way to go about to schedule a data export (query to csv) daily?

    To export a user query rather than a whole table, run it in a worksheet and export using the context menu on the result grid. However none can be scheduled.
    Instead you can look at the SPOOL command and schedule it through SQL*Plus. Any questions can go to the iSQL*Plus and/or SQL And PL/SQL forum.
    Have fun,
    K.

  • How to export query results

    How can I export query results from sqlplus on the command line? Are there ways to specify the format such as CSV, TAB, XML, etc?
    I've seen one approach that involves creating a shell script and piping the output to a file:
    #!/bin/sh
    sqlplus user/password <<__EOF__
    set heading off;
    set newpage none;
    select f1, ',', f2, ',', f3 from some_table;
    __EOF__
    Then pipe the output to a file. Is there a simpler solution to this?

    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:235814350980

  • Oracle Export and Import of XE application

    I am trying to do an Oracle Export of an EX application and an Import to another PC. Can it be done?
    I have encountered several problems. Either it brought over the application, but no Pages or I cannot access the Login page.
    My reason for this is to handle application updates/changes for 50 odd remote users.
    I am using APEX Release 2.1.0.00.39

    Yes it was a full database export with all schemas.
    I ran the following query before and after the import:
    select object_type, count(*) from dba_objects where owner = 'FLOWS_020100' group by object_type order by 1;
    After the IMPORT, I had less LOBs (4) and Tables(8).
    The missing tables are:
    DR$WWV_FLOW_OH_IDX$I
    DR$WWV_FLOW_OH_IDX$K
    DR$WWV_FLOW_OH_IDX$N
    DR$WWV_FLOW_OH_IDX$R
    DR$WWV_FLOW_OH_PT_IDX$I
    DR$WWV_FLOW_OH_PT_IDX$K
    DR$WWV_FLOW_OH_PT_IDX$N
    DR$WWV_FLOW_OH_PT_IDX$R
    The script below was used to reinstate the SYS grants to flows_020100:
    Select owner||':'||table_name||':'||privilege from dba_tab_privs where grantee='FLOWS_020100' and grantor='SYS';
    The results from the script:
    grant SELECT on SYS.OBJ$ to Flows_020100;
    grant SELECT on SYS.USER$ to Flows_020100;
    grant SELECT on SYS.V_$SESSION to Flows_020100;
    grant SELECT on SYS.V_$PARAMETER to Flows_020100;
    grant SELECT on SYS.V_$TIMER to Flows_020100;
    grant SELECT on SYS.DBA_IND_COLUMNS to Flows_020100;
    grant SELECT on SYS.DBA_OBJECTS to Flows_020100;
    grant SELECT on SYS.DBA_ROLLBACK_SEGS to Flows_020100;
    grant SELECT on SYS.DBA_ROLE_PRIVS to Flows_020100;
    grant SELECT on SYS.DBA_SYS_PRIVS to Flows_020100;
    grant SELECT on SYS.DBA_SEQUENCES to Flows_020100;
    grant SELECT on SYS.DBA_TABLES to Flows_020100;
    grant SELECT on SYS.DBA_TAB_COLUMNS to Flows_020100;
    grant SELECT on SYS.DBA_TAB_PRIVS to Flows_020100;
    grant SELECT on SYS.DBA_USERS to Flows_020100;
    grant EXECUTE on SYS.UTL_FILE to Flows_020100;
    grant EXECUTE on SYS.UTL_SMTP to Flows_020100;
    grant EXECUTE on SYS.UTL_HTTP to Flows_020100;
    grant SELECT on SYS.DBA_SEGMENTS to Flows_020100;
    grant SELECT on SYS.DBA_FREE_SPACE to Flows_020100;
    grant SELECT on SYS.DBA_DATA_FILES to Flows_020100;
    grant SELECT on SYS.DBA_TABLESPACES to Flows_020100;
    grant EXECUTE on SYS.DBMS_LOCK to Flows_020100;
    grant EXECUTE on SYS.DBMS_SYS_SQL to Flows_020100;
    grant EXECUTE on SYS.DBMS_FLASHBACK to Flows_020100;
    grant EXECUTE on SYS.DBMS_RLS to Flows_020100;
    grant EXECUTE on SYS.DBMS_CRYPTO to Flows_020100;
    grant EXECUTE on SYS.WWV_FLOW_VAL to Flows_020100;
    grant SELECT on SYS.FLOW_SESSIONS to Flows_020100;
    grant SELECT on SYS.FLOW_PARAMETERS to Flows_020100;
    grant SELECT on SYS.FLOW_SQLAREA to Flows_020100;
    grant SELECT on SYS.FLOW_SGA to Flows_020100;
    32 rows selected.
    FYI:
    When I Imported this last time, I Imported by users. Three imports statements for each user flows_020100, flows_files and apex_public_user (XE_DBA).
    imp system/passwrd file=g:\common\xe\xedba_full.dmp ignore=y fromuser=flows_020100 touser=flows_020100 log=c:\flows_logs.log
    imp system/passwrd file=g:\common\xe\xedba_full.dmp ignore=y fromuser=flows_files touser=flows_files log=c:\files_logs.log
    imp system/passwrd file=g:\common\xe\xedba_full.dmp ignore=y fromuser=xe_dba touser=xe_dba log=c:\xe_dba_logs.log
    as opposed to my initial IMPORT:
    imp system/passwrd file=g:\common\xe\xefull.dmp ignore=y
    FYI: I am not getting the Err-1016 "4550" Page "1" not found error. It now lets me log in , but there are[b] no applications. It should have been 5 applications.
    Hey, in typing the above statement, I realized that my login page is "101" (default) and Page "1" is a data entry page.

  • UCM archiver Export query parameter

    I would like to use IdcCommand to run archive service to export some documents in UCM.
    I noticed there seems a parameter "aExportQuery" (by searching internet) can be used to create query but I'm not sure what the syntax is for this parameter
    also, I don't see this parameter mentioned in the official document of archiver services:
    http://docs.oracle.com/cd/E21043_01/doc.1111/e11011/c07_archive002.htm#i3246938
    on another hand, this document says :
    dataSource: Must be set to RevisionIDs. This is the query stub which, along with the export query, will be used to create the list of revisions to export.
    sounds like this is where query should be created in.
    Could someone clarify how to specify query for UCM export using IdcCommand ?
    Thanks

    Hi ,
    I would suggest to set the following trace sections on UCM to get the details :
    requestaudit,socketrequest and enable Full verbose tracing .
    Then create a new archive export collection - once it is done go to view server output and check Socketrequest output , it will give the exact set of parameters and how the values are set for each of them .
    Thanks,
    Srinath

  • Export query results to flat file with dynamic filename

    Hi
    Can anybody can point me how to dynamic export query serults set to for example txt file using process flows in OWB.
    Let say I have simple select query
    select * from table1 where daterange >= sysdate -1 and daterange < sysdate
    so query results will be different every day because daterange will be different. Also I would like to name txt file dynamicly as well
    eg. results_20090601.txt, results_20090602.txt, results_20090603.txt
    I cant see any activity in process editor to enter custom sql statment, like it is in MSSQL 2000 or 2005
    thanks in advance

    You can call existing procedures from a process flow the procedure can create the filename with whatever name you desire. OWB maps with file as target can also create a file with a dynamic name defined by an expression (see here ).
    Cheers
    David

  • Export Query SQL multi-linee in XML format and Import XML in SAP

    Good morning
    Someone know if is possible after Export Query SQL on OITT and ITT1 with thousands rows in XML with values already change thru the query.
    Then import the XML without using loop in SAP with the above code vb.net
    oDistinta = DirectCast(m_oCompany.GetBusinessObjectFromXML(xmlFile, 0), SAPbobsCOM.ProductTrees)
                    Dim errCode As Integer = 0
                    Dim strErrore As String = ""
                    Dim iErrore As Integer = 0
                    oDistinta.Browser.ReadXml(xmlFile, 0)
                    errCode = oDistinta.Update
                    m_oCompany.GetLastError(iErrore, strErrore)
                    'on error
                    If iErrore <> 0 Then
    To make easy the program i post with 2 ProductTrees item. The 2 item already exist in OITT e ITT1.
    When i update the 1st item is modify but the 2nd not change.
    Here is the XML
    <?xml version="1.0" encoding="UTF-16"?>
    <BOM>
      <BO>
        <AdmInfo>
          <Object>66</Object>
          <Version>2</Version>
        </AdmInfo>
        <ProductTrees>
          <row>
            <TreeCode>V9998</TreeCode>
            <TreeType>iProductionTree</TreeType>
            <Quantity>1000.000000</Quantity>
            <U_SHI_MZDA>0</U_SHI_MZDA>
            <U_SHI_PUMA>0</U_SHI_PUMA>
            <U_SHI_PUUO>0</U_SHI_PUUO>
          </row>
        </ProductTrees>
        <ProductTrees_Lines>
          <row>
            <ItemCode>1047</ItemCode>
            <Quantity>5.000000</Quantity>
            <Warehouse>Mc</Warehouse>
            <Price>0.000000</Price>
            <Currency>
            </Currency>
            <IssueMethod>im_Backflush</IssueMethod>
            <Comment>
            </Comment>
            <ParentItem>V9998</ParentItem>
            <PriceList>2</PriceList>
            <DistributionRule>
            </DistributionRule>
            <U_IDE_POS>10</U_IDE_POS>
            <U_IDE_FASE>0</U_IDE_FASE>
            <U_IDE_OPER>10</U_IDE_OPER>
            <U_SHI_UndInv>N</U_SHI_UndInv>
            <U_SHI_Pri1>
            </U_SHI_Pri1>
            <U_SHI_Pri2>
            </U_SHI_Pri2>
            <U_SHI_Pri3>
            </U_SHI_Pri3>
            <U_SHI_Prgm>
            </U_SHI_Prgm>
            <U_SHI_Tim2>0.000000</U_SHI_Tim2>
            <U_SHI_Tim3>0.000000</U_SHI_Tim3>
            <U_SHI_DexNACQ>
            </U_SHI_DexNACQ>
            <U_SHI_BP>
            </U_SHI_BP>
            <U_SHI_PrcKit>0.000000</U_SHI_PrcKit>
            <U_SHI_ItmNACQ>
            </U_SHI_ItmNACQ>
            <U_SHI_LineOk>N</U_SHI_LineOk>
          </row>
        </ProductTrees_Lines>
        <ProductTrees>
          <row>
            <TreeCode>V9999</TreeCode>
            <TreeType>iProductionTree</TreeType>
            <Quantity>1000.000000</Quantity>
            <U_SHI_MZDA>0</U_SHI_MZDA>
            <U_SHI_PUMA>0</U_SHI_PUMA>
            <U_SHI_PUUO>0</U_SHI_PUUO>
          </row>
        </ProductTrees>
        <ProductTrees_Lines>
          <row>
            <ItemCode>1015</ItemCode>
            <Quantity>1000.000000</Quantity>
            <Warehouse>Mc</Warehouse>
            <Price>0.000000</Price>
            <Currency>
            </Currency>
            <IssueMethod>im_Backflush</IssueMethod>
            <Comment>
            </Comment>
            <ParentItem>V9999</ParentItem>
            <PriceList>5</PriceList>
            <DistributionRule>
            </DistributionRule>
            <U_IDE_POS>30</U_IDE_POS>
            <U_IDE_FASE>0</U_IDE_FASE>
            <U_IDE_OPER>30</U_IDE_OPER>
            <U_SHI_UndInv>N</U_SHI_UndInv>
            <U_SHI_Pri1>
            </U_SHI_Pri1>
            <U_SHI_Pri2>
            </U_SHI_Pri2>
            <U_SHI_Pri3>
            </U_SHI_Pri3>
            <U_SHI_Prgm>
            </U_SHI_Prgm>
            <U_SHI_Tim2>0.000000</U_SHI_Tim2>
            <U_SHI_Tim3>0.000000</U_SHI_Tim3>
            <U_SHI_DexNACQ>
            </U_SHI_DexNACQ>
            <U_SHI_BP>
            </U_SHI_BP>
            <U_SHI_PrcKit>0.000000</U_SHI_PrcKit>
            <U_SHI_ItmNACQ>
            </U_SHI_ItmNACQ>
            <U_SHI_LineOk>N</U_SHI_LineOk>
          </row>
        </ProductTrees_Lines>
      </BO>
    </BOM>
    Someone know the reason ?
    Thanks in advance.
    Regards

    Hi Gabriele,
    The issue is that the ReadXml method takes an index parameter which is the number of the object that you want to read from the XML data. In your code you are specifying index 0 which is the first product tree in your file so when you call the Update method this is the only record that will be updated. It is not possible to do a mass update using the DI API in this way, you must always load each object separately. You can use the GetXMLelementCount method of the Company object to find out how many product tree objects are in your file and then use the ReadXML method to load each one by incrementing the index parameter in a loop.
    Kind Regards,
    Owen

  • Calling Oracle Export and Import in java

    Hi,
    I am trying to call oracle export and import utilites in my java application,
    can anyone help me that how can i do this, plz consider the case as this is a part of my project..
    Regards
    Ashish

    You should just be able to call the "imp" and "exp" executables ($ORACLE_HOME/bin) using the Runtime class. You can setup the various parameters for export / import in a parameter file.
    http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
    http://www.orafaq.com/faqiexp.htm

  • Calling oracle export and import utilities in java

    Hi,
    can someone help me, i have to call oracle export and import utilities through my java application, can anyone guide me, how i can do it..
    Thansks
    Ashish

    Hi,
    can someone help me, i have to call oracle export and
    import utilities through my java application, can
    anyone guide me, how i can do it..You mean the command line ones? Use Runtime.exec();

  • Oracle Text query: Escaping characters and specifying progression sequences

    How can I combine the escaping of a search string and the specification of progression sequences within an oracle text query
    so that in all cases the correct results are delivered (see example below)?
    The scenario in which to use this is the following:
    + Database: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0
    + Requirement: Hitlist of results ordered by score whereby the different part within
    the result list are specified using progression sequences within oracle text query
    Example:
    create table service_provider (
    id number,
    name_c varchar(100),
    uri_c varchar(255)
    insert into service_provider values (1,'ABB Company Mgmt','http://www.abb-company-mgmt.de');
    insert into service_provider values (2,'Dr. Abbas Ming','http://www.dr-abbas-ming.de');
    insert into service_provider values (3,'SABBATA United','http://www.sabbata-united.de');
    insert into service_provider values (4,'ABB','http://www.abb.de');
    insert into service_provider values (5,'AND Company Mgmt','http://www.and-company-mgmt.de');
    insert into service_provider values (6,'Dr. Andas Ming','http://www.dr-andas-ming.de');
    insert into service_provider values (7,'SANDATA United','http://www.sandata-united.de');
    insert into service_provider values (8,'AND','http://www.and.de');
    Query 1: works correctly in this case
    select * from (
    select /*+ FIRST_ROWS */ score(1), this_.*
    from service_provider this_
    where
    CONTAINS ( this_.NAME_C , '<QUERY><textquery grammar="CONTEXT">' ||
    '<progression>' ||
    '<seq>abb</seq>' ||
    '<seq>abb%</seq>' ||
    '<seq>%abb%</seq>' ||
    '<seq>fuzzy(abb,1,100,WEIGHT)</seq>' ||
    '</progression></textquery></QUERY>', 1 ) > 0
    order by score(1) desc, this_.NAME_C
    ) where rownum < 21
    delivers
    76     4     ABB     http://www.abb.de
    76     1     ABB Company Mgmt     http://www.abb-company-mgmt.de
    51     2     Dr. Abbas Ming     http://www.dr-abbas-ming.de
    26     3     SABBATA United     http://www.sabbata-united.de
    Query 2: procudes error
    select * from (
    select /*+ FIRST_ROWS */ score(1), this_.*
    from service_provider this_
    where
    CONTAINS ( this_.NAME_C , '<QUERY><textquery grammar="CONTEXT">' ||
    '<progression>' ||
    '<seq>and</seq>' ||
    '<seq>and%</seq>' ||
    '<seq>%and%</seq>' ||
    '<seq>fuzzy(and,1,100,WEIGHT)</seq>' ||
    '</progression></textquery></QUERY>', 1 ) > 0
    order by score(1) desc, this_.NAME_C
    ) where rownum < 21
    produces ORA-29902, ORA-20000, DRG-50901 because AND is a reserved word in oracle text
    So we need escaping ...
    Query 3: does not work correctly
    select * from (
    select /*+ FIRST_ROWS */ score(1), this_.*
    from service_provider this_
    where
    CONTAINS ( this_.NAME_C , '<QUERY><textquery grammar="CONTEXT">' ||
    '<progression>' ||
    '<seq>{abb}</seq>' ||
    '<seq>{abb%}</seq>' ||
    '<seq>{%abb%}</seq>' ||
    '<seq>fuzzy({abb},1,100,WEIGHT)</seq>' ||
    '</progression></textquery></QUERY>', 1 ) > 0
    order by score(1) desc, this_.NAME_C
    ) where rownum < 21
    delivers
    76     4     ABB     http://www.abb.de
    76     1     ABB Company Mgmt     http://www.abb-company-mgmt.de
    Query 4: does not produce an error, but also does not work correctly
    select * from (
    select /*+ FIRST_ROWS */ score(1), this_.*
    from service_provider this_
    where
    CONTAINS ( this_.NAME_C , '<QUERY><textquery grammar="CONTEXT">' ||
    '<progression>' ||
    '<seq>{and}</seq>' ||
    '<seq>{and%}</seq>' ||
    '<seq>{%and%}</seq>' ||
    '<seq>fuzzy({and},1,100,WEIGHT)</seq>' ||
    '</progression></textquery></QUERY>', 1 ) > 0
    order by score(1) desc, this_.NAME_C
    ) where rownum < 21
    delivers
    76     8     AND     http://www.and.de
    76     5     AND Company Mgmt     http://www.and-company-mgmt.de

    Anywhere that you just use the word by itself, enclose it in {}, but anywhere that you add % on either side or both don't enclose it in {}. Please see the demonstration below.
    SCOTT@10gXE> SELECT * FROM v$version
      2  /
    BANNER
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE     10.2.0.1.0     Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SCOTT@10gXE> create table service_provider
      2    (id     number,
      3       name_c     varchar(100),
      4       uri_c     varchar(255))
      5  /
    Table created.
    SCOTT@10gXE> insert all
      2  into service_provider values (1,'ABB Company Mgmt','http://www.abb-company-mgmt.de')
      3  into service_provider values (2,'Dr. Abbas Ming','http://www.dr-abbas-ming.de')
      4  into service_provider values (3,'SABBATA United','http://www.sabbata-united.de')
      5  into service_provider values (4,'ABB','http://www.abb.de')
      6  into service_provider values (5,'AND Company Mgmt','http://www.and-company-mgmt.de')
      7  into service_provider values (6,'Dr. Andas Ming','http://www.dr-andas-ming.de')
      8  into service_provider values (7,'SANDATA United','http://www.sandata-united.de')
      9  into service_provider values (8,'AND','http://www.and.de')
    10  into service_provider values (9,'EBB','fuzzy test')
    11  into service_provider values (10,'OND','fuzzy test')
    12  select * from dual
    13  /
    10 rows created.
    SCOTT@10gXE> CREATE INDEX your_index
      2  ON service_provider (name_c)
      3  INDEXTYPE IS CTXSYS.CONTEXT
      4  PARAMETERS ('STOPLIST CTXSYS.EMPTY_STOPLIST')
      5  /
    Index created.
    SCOTT@10gXE> VARIABLE search_string VARCHAR2 (100)
    SCOTT@10gXE> EXEC :search_string := 'abb'
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> COLUMN name_c FORMAT A20 WORD_WRAPPED
    SCOTT@10gXE> COLUMN uri_c  FORMAT A40
    SCOTT@10gXE> select *
      2  from   (select /*+ FIRST_ROWS */ score(1), this_.*
      3            from   service_provider this_
      4            where  CONTAINS
      5                  (this_.NAME_C ,
      6                   '<QUERY>
      7                   <textquery grammar="CONTEXT">
      8                     <progression>
      9                       <seq>{'         || :search_string || '}</seq>
    10                       <seq>'         || :search_string || '%</seq>
    11                       <seq>%'         || :search_string || '%</seq>
    12                       <seq>fuzzy({' || :search_string || '},1,100,WEIGHT)</seq>
    13                     </progression>
    14                  </textquery>
    15                   </QUERY>', 1 ) > 0
    16            order  by score(1) desc, this_.NAME_C)
    17  where  rownum < 21
    18  /
      SCORE(1)         ID NAME_C               URI_C
            76          4 ABB                  http://www.abb.de
            76          1 ABB Company Mgmt     http://www.abb-company-mgmt.de
            51          2 Dr. Abbas Ming       http://www.dr-abbas-ming.de
            26          3 SABBATA United       http://www.sabbata-united.de
             4          9 EBB                  fuzzy test
    SCOTT@10gXE> EXEC :search_string := 'and'
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> /
      SCORE(1)         ID NAME_C               URI_C
            76          8 AND                  http://www.and.de
            76          5 AND Company Mgmt     http://www.and-company-mgmt.de
            51          6 Dr. Andas Ming       http://www.dr-andas-ming.de
            26          7 SANDATA United       http://www.sandata-united.de
             5         10 OND                  fuzzy test
    SCOTT@10gXE>

  • Converting Oracle XML Query Result in Java String by using XSU

    Hi,
    I have a problem by converting Oracle XML Query Result in Java
    String by using XSU. I use XSU for Java.
    For example:
    String datum=new OracleXMLQuery(conn,"Select max(ps.datum) from
    preise ps where match='"+args[0]+"'");
    String datum1=datum;
    I become the following error:
    Prototyp.java:47: Incompatible type for declaration. Can't
    convert oracle.xml.sql.query.OracleXMLQuery to java.lang.String.
    Can somebody tell me a method() for converting to solve my
    problem??????
    Thanks

    Hmmm.. Pretty basic just look at the example:
    OracleXMLQuery qry = new OracleXMLQuery(conn,"Select max(ps.datum) from preise ps where match='"+args[0]+"'");
    String xmlString = qry.getXMLString();
    Hi,
    I have a problem by converting Oracle XML Query Result in Java
    String by using XSU. I use XSU for Java.
    For example:
    String datum=new OracleXMLQuery(conn,"Select max(ps.datum) from
    preise ps where match='"+args[0]+"'");
    String datum1=datum;
    I become the following error:
    Prototyp.java:47: Incompatible type for declaration. Can't
    convert oracle.xml.sql.query.OracleXMLQuery to java.lang.String.
    Can somebody tell me a method() for converting to solve my
    problem??????
    Thanks

  • Oracle text query

    Hi,
    I have a View object with various attributes (eg, name1, name2, name3, address1, address2, address3 etc). A query/table component based on this view object works just fine. However, I wish to replace name1, name2, name3 and other attributes in the query with just 'name'. These attributes are still to be shown in the result table. This new 'name' attribute will be used in an Oracle Text query clause, instead of individual searches on each attribute.
    My plan was to simply make the various name1, name2 etc attributes non-'queryable' in the View def to hide them from the query. Then I'd add a transient 'name' attribute. My hope was, that I could override the getWhereClause() in the ViewObjectImpl and simply tack on the oracle text clause to the WHERE (example below):
    WHERE CONTAINS (
    SOMECOLUMN,
                '<query>
       <textquery lang="ENGLISH" grammar="CONTEXT">TRANSIENT_ATTR_VALUE
    ..... Oracle Text query grammar stuff here ....  </query>') > 0How do I access the transient value in the ViewObjectImpl to add the above SQL? Or am I going about this in completely the wrong way?
    thanks,
    Barry.

    Based on what I found in
    http://www.oracle.com/technology/oramag/oracle/09-nov/o69frame.html?_template=/ocom/print
    and
    http://blogs.oracle.com/smuenchadf/examples/
    136.     Introducing a Checkbox to Toggle a Custom SQL Predicate on an LOV's Search Form. [11.1.1.0.0] 19-NOV-2008
    I have the following implementation, which seems to work. Does anyone see any problems with this?
    With regard to SQL injection, does ViewCriteriaItem sanitise the 'val' from the query, or should I do that manually here myself?
        @Override
        public java.lang.String getCriteriaItemClause(ViewCriteriaItem vci) {
            if ("OraTextTransientAttrib".equals(vci.getAttributeDef().getName())) {
                if (vci.getViewCriteria().isCriteriaForQuery()) {
                    String val = (String)vci.getValue();
                    logger.debug("Doing oracle text name search on '" + val + "'");
                    // simplified version of my oracle text query
                    return "CONTAINS ('<query>..... " + val + "....</query>') > 0 ";
                } else {
                    // SQL predicate for no changes to the results
                    // spaces needed if you have several of these blocks
                    return " 1=1 ";
            // other blocks for other similar oracle text attribs
            return super.getCriteriaItemClause(vci);
        }

Maybe you are looking for

  • Backup failure due to Character set problem

    Hi, I am manually running a COLD backup script in Windows NT environment and all the logs has been captured below: Recovery Manager: Release 8.1.6.0.0 - Production RMAN-06005: connected to target database: db1 (DBID=754030292) RMAN-06009: using targe

  • SQL query joins

    Hi everybody, I have 4 tables A,B,C,D. main_id is the primary column in all these tables and is used to join these tables. Table A has 600 records, B has 30 records, C has 1 record and D has 7 records. When I join A and B, I get 36 records, A and C,

  • HP 6310 All-in-one - Apple find it but HP Software can't

    I moved my HP 6310xi to an Airport Extreme. Everything set up very smoothly (which I was pleasantly surprised by). I can print to it from any application -- in other words, my Mac found it with no problem and used the Driver that was already installe

  • ON MY CALENDAR FOR 2013 I AM UNABLE TO ACCESS MARCH..   IT DEFAULTS TO DESKTOP??

    I am unable to access the month of March on my Calendar.  It defaults to desktop.  All the other months are ok.

  • SCOM Closed Email Alert

    I notice that when the alert is closed and we get an email the value is different and in some cases it is higher above the threshold than when it was first opened and new. Is this because SCOM gives you the last retrieved value for that monitor/rule