Re: [Q]: CONTEXT one-step query in PL/SQL procedure
Date: 1998/02/19
Message-ID: <slrn6eoc33.4s4.kmacs_at_gandalf.kmacs.com>#1/1
[Quoted] [Quoted] On Thu, 19 Feb 1998 11:41:04 -0000, Fat Boy Slim <fatty_at_boy.slim.com> wrote:
>Hi
>
>Im trying to do the following CONTEXT query within PL/SQL. THis query works
>one hundred per cent using SQL*Plus, but will not compile when placed in
>PL/SQL. Anyone know why?
>
> select * from course where
> contains(content,s,1)>0 or
> contains(title,s,2)>0 and
> trainingunit = deptid
> order by score(2) desc, score(1) desc, title;
>
>When this is placed in a PL/SQL procedure, I get an undeclared identifier
>"CONTAINS" message on compile. In SQL Plus or SQL Worksheet, this works
>fine.
>
>
contains is a "magic" word, it indicates to the parser to re-write the SQL to
[Quoted] use the Context Keys. in PL/SQL it doesn't get detected, therefore you need
[Quoted] to use the ctx_contains procedure. The worst one is that THIS doesn't work
for the same reason:
INSERT INTO table
SELECT col1, col2 FROM table2 WHERE contains(title,s,2)>0;
BTW, having multiple single step context queries is generally alot slower (orders of magnitude) than two two step queries. If your tables only have 100s [Quoted] or thousands of rows it probably doesn't matter.
-- -- Keith Moore President KMA Computer Solutions, Inc. -- /*----C/C++--Java--VB--Pro*C--SQL--OCI--Java--Delphi--ODBC--COBOL-----* * When the project must be saved at all costs: * * KMA Computer Solutions, Inc. Project Troubleshooting/Recovery * *---------Linux---AIX---HPUX---SYSV---Novell---NT---OS/2---'95-------*/Received on Thu Feb 19 1998 - 00:00:00 CET