I'm currently trying to create update sql for something like

UPDATE TABLE1 T 
SET T.VALUE1 = NULL 
WHERE 
  T.VALUE1 IN (SELECT A.VALUE1 FROM TABLE2 A WHERE VALUE2 = ?)
  
But I'd like to do it so, that it uses indexes, like

SELECT T.*
FROM TABLE1 T JOIN TABLE2 A ON T.VALUE1 = A.VALUE1
WHERE A.VALUE2 = ?

There are indexes on T.VALUE1 and A.VALUE2, so the plan is something like
PLAN JOIN (A INDEX (TABLE2_$_VALUE2), T INDEX (TABLE1_$_VALUE1))

Is it even possible without using stored procedure?

-- 
Virgo Pärna 
[email protected]



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

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Visit http://www.firebirdsql.org and click the Resources item
on the main (top) menu.  Try Knowledgebase and FAQ links !

Also search the knowledgebases at http://www.ibphoenix.com 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/firebird-support/join
    (Yahoo! ID required)

<*> To change settings via email:
    [email protected] 
    [email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Reply via email to