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)
|
Список | 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 по дате отправления: