SQL stored proc query (optimising)

Поиск
Список
Период
Сортировка
От paul_smith1@talk21.com
Тема SQL stored proc query (optimising)
Дата
Msg-id 20030320124717.KHHI27722.wmpmta01-app.mail-store.com@wmpmtavirtual
обсуждение исходный текст
Ответы Re: SQL stored proc query (optimising)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: "Miguel Carvalho"
Дата:
Сообщение: Re: [GENERAL] Trigger issue, bug? on 7.2.1
Следующее
От: Tom Lane
Дата:
Сообщение: Re: SQL stored proc query (optimising)