Вниз
Скачать: CL | DM;

проблема с хранимой процедурой   Найти похожие ветки 

← →
dreamse   (2006-02-21 08:59) [0]

Не получаеться написать хранимую процедуру :( Смысл в чём :

Вот процедура которая добавляет запись в базу данных :


CREATE PROCEDURE AddDataJurnal (
@compNumber char(10)
@IndDAte char(10),
@indTime char(10),
@CompZanatochar char(10),
@Nerabotshicomp char(10))

AS

-- Записываем  
Insert Into Tab_zagruzka
Values (@compNumber,@IndDAte,@data_time,@CompZanatochar,@Nerabotshicomp)



Получаеться что мы кодом записываем одну строчку а таблицу.

Что не получаеться сделать :

Хотелось бы проверять существует ли строка с непустым полем
@compNumber и если существует то обновлять только одну колонку в строке , например @Nerabotshicomp а строку оставлять ... а то получаеться мне нужно записать с разными интервалами поля : @Nerabotshicomp , @IndDAte и пр. но строка должна оставаться одной ... т.е если она есть то меняеться содержимое полей , если строки нет то добавляеться.

Надеюсь понятно обяснил мысль ... Кто разбираеться подскажите как написать такую процедуру


← →
MOA ©   (2006-02-21 09:10) [1]

>как написать такую процедуру
Вначале определитесь с ключевыми полями - т.е. полями, которые однозначно идентифицируют сущность (по другому - поля, которые для данной сущности не меняются).
Если в Вашем случае поле compNumber - ключевое, то просто проверяйте существование строки
IF EXISTS(SELET * FROM Tab_zagruzka WHERE compNumber = @compNumber)
и если да - делайте UPDATE, если нет - INSERT.
Однако, ещё раз - вначале разработайте операции, которые Вы намерены реализовать (на бумажке, на русском языке, в виде "добавить компьютер", "выбросить компутер", "списать компутер" и т.д.) и структуру Вашей базы.
Удачи!


← →
dreamse   (2006-02-21 11:49) [2]

> MOA ©   (21.02.06 09:10) [1]

Спасибо ,

Вы не могли бы подсказать как выполнить запрос UPDATE ?
Просто не помню структкру запроса :(

С остальным разобрался


← →
ALIES   (2006-02-21 12:00) [3]

UPDATE
[pubs].[dbo].[sales]
SET
[stor_id]=<stor_id,char(4),>,
[ord_num]=<ord_num,varchar(20),>,
[ord_date]=<ord_date,datetime,>,
[qty]=<qty,smallint,>,
[payterms]=<payterms,varchar(12),>,
[title_id]=<title_id,tid,>
WHERE
<Search conditions,,>


← →
dreamse   (2006-02-21 12:22) [4]

Спасибо



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.037 c
2-1143534311
Sw
2006-03-28 12:25
2006.04.16
Путь к БД


2-1143564528
dubolom
2006-03-28 20:48
2006.04.16
Работа с большими числами


1-1142160450
Кашперук Иван
2006-03-12 13:47
2006.04.16
Как очистить рабочий стол


2-1143987237
Ку Ку
2006-04-02 18:13
2006.04.16
SisTrey


15-1143242015
fert
2006-03-25 02:13
2006.04.16
Куплю КПК




   Наверх