» »

[SQL] problem z proceduro

[SQL] problem z proceduro

greentech ::

Mam proceduro v sql, ki zgleda takole:

CREATE PROCEDURE dbo.p_teze_ose_ins
(
@tiskalnik_id INT,
@count INT,
@teza decimal(11,3)
)
/*WITH ENCRYPTION*/ AS


declare @curr_count as int
--declare @max_count as int
declare @skupna_teza as decimal(11,3)
declare @zaporedje as int

SELECT @zaporedje=zaporedje FROM teze_TSE

/* preberemo koliko tehtanj je ze vnesenih */
SELECT @curr_count = MAX(zaporedje)
FROM teze_ose
WHERE (tiskalnik_id = @tiskalnik_id)
GROUP BY zaporedje

if @curr_count is null
SET @curr_count = 0


SET @curr_count = @curr_count + 1

print @count
print @curr_count
/* preverimo ce je pakiranje ze polno */
IF (@curr_count = @count)
BEGIN
/* preberemo trenutne teze */
SELECT @skupna_teza = SUM(teza)
FROM teze_OSE
WHERE (tiskalnik_id = @tiskalnik_id)
GROUP BY teza

/* pristejemo zadnjo tezo */
SET @skupna_teza = @skupna_teza + @teza

--dodamo zapis v OSE pakiranje
insert into teze_ose(tiskalnik_id, zaporedje, teza)
values (@tiskalnik_id, @curr_count, @teza)

--preberemo zadnje zaporedje na paleti
SELECT @curr_count = MAX(zaporedje)
FROM teze_TSE
WHERE (tiskalnik_id = @tiskalnik_id)

if @curr_count is null
SET @curr_count = 0

SET @curr_count = @curr_count + 1

-- tezo pristejemo paleti
insert into teze_tse(tiskalnik_id, zaporedje, teza)
values (@tiskalnik_id, @curr_count, @skupna_teza)

---brisemo OSE teze
--IF @zaporedje!=NULL
delete from teze_ose
where (tiskalnik_id = @tiskalnik_id)


END
ELSE
BEGIN
--ce gre za naslednji OSE brisi teze v starem OSE
/*IF (@curr_count = @count + 1)
BEGIN

delete from teze_ose
where tiskalnik_id = @tiskalnik_id

set @curr_count = 1
END*/

insert into teze_ose(tiskalnik_id, zaporedje, teza)
values (@tiskalnik_id, @curr_count, @teza)

END


RETURN
GO


--Procedura je povezana z uporabniškim vmesnikom v programskem jeziku C#, in skrbi za vnos podatkov v polja. V polje OSE pakiranja vnašaš teže. zraven imaš eno NUD(numeric up down) komponento, ki ti določi koliko tež lahko bneseš v OSE. KO vneseš število tež ki si jih določil, se skupen seštevek vnosov tež v OSE pakiranja prenese v TSE pakiranja(ka točno to pomeni milsim da ni tako pomembno).

---Problem je pa v tem, da zadnje teže, ki jo vneseš v OSE pakiranje ne prišteje k skupni teži, ki jo prenese v TSE pakiranja.

---Za seštevanje skrbi priložena SQL procedura, tako da mora biti problem nekje v tej funkciji. Problem je pomoje v tem, da zadnji vnso zbriše bi ga lahko prištelo k skupni teži, vendar ne vem kako to rešit.

Že vnaprej hvala za pomoč


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Silverlight 4] Omejeno premikanje elementov v canvasu

Oddelek: Programiranje
111134 (1014) xordie
»

SQL problem

Oddelek: Programiranje
111278 (1125) JanezH
»

C# BackgroundWorker Class problem

Oddelek: Programiranje
61190 (1146) hendriks
»

C++ programi

Oddelek: Programiranje
72440 (2036) ERGY
»

Funkcija v SQL

Oddelek: Programiranje
91301 (1168) destiny

Več podobnih tem