SQL stored proc query (optimising) - Mailing list pgsql-sql

From paul_smith1@talk21.com
Subject SQL stored proc query (optimising)
Date
Msg-id 20030320124717.KHHI27722.wmpmta01-app.mail-store.com@wmpmtavirtual
Whole thread Raw
Responses Re: SQL stored proc query (optimising)
List pgsql-sql
I'm currently developing a database in which I have a list of drivers. I've written a stored procedure for MS SQL
Serverwhich looks up the drivers name and returns their ID if they are already in the table, otherwise it adds them and
thenreturns their ID 

-- Used to look up a driver name. If the name is not in the list it adds it to the lsit
CREATE PROCEDURE sp_findAndUpdateDrivers(@strDrivername varchar(50))
WITH RECOMPILE AS
BEGIN TRAN
SELECT ID FROM tblDrivers WHERE txtDriversName = @strDrivername IF NOT  EXISTS(SELECT ID FROM tblDrivers WHERE
txtDriversName= @strDrivername)  BEGIN    INSERT INTO tblDrivers (txtDriversName) VALUES (@strDrivername)    SELECT ID
FROMtblDrivers WHERE txtDriversName = @strDrivername   END 
IF @@ERROR <> 0 BEGIN      ROLLBACK TRAN      RETURN @@ERROR    END

COMMIT TRAN
RETURN
GO

This works fine, but I have to access the table twice, one to get the ID and once to check if they are in the table. Is
therea better way I can do this such that it will still return the ID but is more efficeient? 

Thanks in advance
Paul



--------------------
talk21 your FREE portable and private address on the net at http://www.talk21.com



pgsql-sql by date:

Previous
From: "Miguel Carvalho"
Date:
Subject: Re: [GENERAL] Trigger issue, bug? on 7.2.1
Next
From: Tom Lane
Date:
Subject: Re: SQL stored proc query (optimising)