Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.25;
Скачать: CL | DM;

Вниз

Помогите оптимизировать процедуру MSSQL2000   Найти похожие ветки 

 
Димон111   (2002-11-04 13:10) [0]

Нужно
1) вытащить из таблицы строчку,
2) Записать в другую табличку № этой строки,
3) вернуть ResulSet полученный в п.1

делаю так:

CREATE PROCEDURE DBO.PostsEvent
@FBarcode char(20)
AS
declare @fid int
SELECT @fid=ID FROM MyTable WHERE Barcode=@FBarcode
INSERT INTO LOG (CURRENT_TIMESTAMP, @fid ) // вставить значение из запроса
SELECT * FROM MyTable WHERE id=@fid
GO

приходится 2 раза открывать запрос, подскажите плиз , может как-нибудь лучше с курсором это сделать

спасибо


 
3JIA9I CyKA ©   (2002-11-04 13:16) [1]

Типа этого
declare
@p1 int,
@p2 varchar(10)
select
@p1 = id,
@p2 = [чё-то]
from [где-то]
where blablabla = "бу-бу-бу"

insert ....
select
ID = @p1,
[чё-то] = @p2


 
Димон111   (2002-11-04 13:22) [2]

2 3JIA9I CyKA ©

Проблема в том что, полей много, а одно из них вообще БЛОБ.

может что-то типа

DECLARE CURSOR MyCur
as select * from MyTable where Barcode=@Fbarcode
open MyCurr
INSERT INTO LOG (CURRENT_TIMESTAMP, MyCur.ID)
SELECT * FROM MyCurr



?


 
Димон111   (2002-11-04 14:14) [3]

Господа, есть ещё идеи?


 
Marcus   (2002-11-04 18:00) [4]

А чем тебя исходный вариант не устраивает. Все равно самая тормозная часть это SELECT @fid=ID FROM MyTable WHERE Barcode=@FBarcode, поскольку поиск по строке.
А выбор по id, да еще если это primary key, выполняется практически мгновенно. Так что это не поле для оптимизации



Страницы: 1 вся ветка

Текущий архив: 2002.11.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
14-82917
Катерина
2002-11-04 11:56
2002.11.25
Посоветуйте компонент...


4-83062
pavel-ak
2002-10-11 12:28
2002.11.25
день добрый всем. подскажите пожалуюста как бы мне перехватить


1-82773
MixerPro
2002-11-14 15:07
2002.11.25
Надо определить параметры Рабочего Стола.


7-83023
Terrible
2002-09-24 16:09
2002.11.25
Запуск приложения с правами пользователя, который вошёл в систему


14-82983
Igorek
2002-11-06 14:52
2002.11.25
Комната в Киеве на Теремках