init
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_ImportEszkozok', 'P') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_ImportEszkozok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [sp_ImportEszkozok]
|
||||
@xml xml,
|
||||
@userID int,
|
||||
@intezmenyID int,
|
||||
@tanevID int
|
||||
AS
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
SET NOCOUNT ON
|
||||
SET XACT_ABORT ON
|
||||
|
||||
DECLARE @tbl TABLE (
|
||||
C_NEV nvarchar(255),
|
||||
C_TEREMID int,
|
||||
C_FELELOSID int,
|
||||
C_DARABSZAM int,
|
||||
C_TIPUS int,
|
||||
C_KATEGORIA int,
|
||||
C_BESZERZESDATUM datetime,
|
||||
C_LELTARISZAM nvarchar(20),
|
||||
C_GYARISZAM nvarchar(20),
|
||||
C_MEGJEGYZES nvarchar(255)
|
||||
)
|
||||
|
||||
INSERT INTO @tbl
|
||||
SELECT
|
||||
sor.value('(EszkozNeve)[1]', 'nvarchar(255)') AS C_NEV,
|
||||
sor.value('number((TeremId)[1])', 'int') AS C_TEREMID,
|
||||
sor.value('number((FelelosId)[1])', 'int') AS C_FELELOSID,
|
||||
sor.value('(DarabSzam)[1]', 'int') AS C_DARABSZAM,
|
||||
sor.value('number((EszkozTipus)[1])', 'int') AS C_TIPUS,
|
||||
sor.value('number((kategoria)[1])', 'int') AS C_KATEGORIA,
|
||||
sor.value('(beszerzes-datuma)[1]', 'datetime') AS C_BESZERZESDATUM,
|
||||
sor.value('(LeltariSzam)[1]', 'nvarchar(20)') AS C_LELTARISZAM,
|
||||
sor.value('(gyari-szam)[1]', 'nvarchar(20)') AS C_GYARISZAM,
|
||||
sor.value('(megjegyzes)[1]', 'nvarchar(255)') AS C_MEGJEGYZES
|
||||
FROM @xml.nodes('/EszkozImport/EszkozLista/Eszkoz') as sorok(sor)
|
||||
|
||||
BEGIN TRANSACTION
|
||||
UPDATE e
|
||||
SET e.C_BESZERZESDATUM = IsNull(t.C_BESZERZESDATUM, e.C_BESZERZESDATUM)
|
||||
,e.C_GYARISZAM = IsNull(t.C_GYARISZAM, e.C_GYARISZAM)
|
||||
,e.C_KATEGORIA = IsNull(t.C_KATEGORIA, e.C_KATEGORIA)
|
||||
,e.C_DARABSZAM = IsNull(t.C_DARABSZAM, e.C_DARABSZAM)
|
||||
,e.C_LELTARISZAM = IsNull(t.C_LELTARISZAM, e.C_LELTARISZAM)
|
||||
,e.C_MEGJEGYZES = IsNull(t.C_MEGJEGYZES, e.C_MEGJEGYZES)
|
||||
,e.C_TIPUS = IsNull(t.C_TIPUS, e.C_TIPUS)
|
||||
,e.C_FELELOSID = IsNull(t.C_FELELOSID, e.C_FELELOSID)
|
||||
,e.SERIAL = e.SERIAL + 1
|
||||
,e.LASTCHANGED = GETDATE() -- datetime
|
||||
,e.MODIFIER = @userID -- int
|
||||
FROM T_ESZKOZ e
|
||||
INNER JOIN @tbl t ON t.C_NEV = e.C_NEV AND t.C_TEREMID = e.C_TEREMID
|
||||
|
||||
INSERT INTO T_ESZKOZ (
|
||||
C_BERELT
|
||||
,C_BESZERZESDATUM
|
||||
,C_BESZERZESIAR
|
||||
,C_DARABSZAM
|
||||
,C_FOKONYVISZAM
|
||||
,C_GYARISZAM
|
||||
,C_GYARTASIEV
|
||||
,C_HALOZATIKAPCSOLAT
|
||||
,C_HORDOZHATO
|
||||
,C_INTERNETKAPCSOLAT
|
||||
,C_KATEGORIA
|
||||
,C_LELTARISZAM
|
||||
,C_MEGJEGYZES
|
||||
,C_MULTIMEDIAS
|
||||
,C_NEV
|
||||
,C_PEDAGOGUSHOZZAFERHET
|
||||
,C_SZALLITO
|
||||
,C_TANULOHOZZAFERHET
|
||||
,C_TARTOZEK
|
||||
,C_TARTOZEKHIVATKOZAS
|
||||
,C_TIPUS
|
||||
,C_CELJA
|
||||
,C_JELLEGE
|
||||
,C_MENNYISEGIEGYSEG
|
||||
,C_VONALKOD
|
||||
,C_TEREMID
|
||||
,C_FELELOSID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
'F' AS C_BERELT -- C_BERELT - char(1)
|
||||
,NULL AS C_BESZERZESDATUM -- C_BESZERZESDATUM - datetime
|
||||
,NULL AS C_BESZERZESIAR -- C_BESZERZESIAR - int
|
||||
,t.C_DARABSZAM AS C_DARABSZAM -- C_DARABSZAM - int
|
||||
,NULL AS C_FOKONYVISZAM -- C_FOKONYVISZAM - nvarchar(255)
|
||||
,t.C_GYARISZAM AS C_GYARISZAM -- C_GYARISZAM - nvarchar(20)
|
||||
,NULL AS C_GYARTASIEV -- C_GYARTASIEV - int
|
||||
,NULL AS C_HALOZATIKAPCSOLAT -- C_HALOZATIKAPCSOLAT - char(1)
|
||||
,NULL AS C_HORDOZHATO -- C_HORDOZHATO - char(1)
|
||||
,NULL AS C_INTERNETKAPCSOLAT -- C_INTERNETKAPCSOLAT - char(1)
|
||||
,t.C_KATEGORIA AS C_KATEGORIA -- C_KATEGORIA - int
|
||||
,t.C_LELTARISZAM AS C_LELTARISZAM -- C_LELTARISZAM - nvarchar(20)
|
||||
,t.C_MEGJEGYZES AS C_MEGJEGYZES -- C_MEGJEGYZES - nvarchar(255)
|
||||
,NULL AS C_MULTIMEDIAS -- C_MULTIMEDIAS - char(1)
|
||||
,t.C_NEV AS C_NEV -- C_NEV - nvarchar(255)
|
||||
,NULL AS C_PEDAGOGUSHOZZAFERHET -- C_PEDAGOGUSHOZZAFERHET - char(1)
|
||||
,NULL AS C_SZALLITO -- C_SZALLITO - nvarchar(255)
|
||||
,NULL AS C_TANULOHOZZAFERHET -- C_TANULOHOZZAFERHET - char(1)
|
||||
,NULL AS C_TARTOZEK -- C_TARTOZEK - char(1)
|
||||
,NULL AS C_TARTOZEKHIVATKOZAS -- C_TARTOZEKHIVATKOZAS - nvarchar(20)
|
||||
,t.C_TIPUS AS C_TIPUS -- C_TIPUS - int
|
||||
,NULL AS C_CELJA -- C_CELJA - int
|
||||
,NULL AS C_JELLEGE -- C_JELLEGE - int
|
||||
,NULL AS C_MENNYISEGIEGYSEG -- C_MENNYISEGIEGYSEG - int
|
||||
,NULL AS C_VONALKOD -- C_VONALKOD - int
|
||||
,t.C_TEREMID AS C_TEREMID -- C_TEREMID - int
|
||||
,t.C_FELELOSID AS C_FELELOSID -- C_FELELOSID - int
|
||||
,@intezmenyID AS C_INTEZMENYID
|
||||
,@tanevID AS C_TANEVID
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,1 AS SERIAL -- SERIAL - int
|
||||
,NULL AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,@userID AS CREATOR -- CREATOR - int
|
||||
FROM @tbl t
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_ESZKOZ WHERE C_NEV = t.C_NEV AND C_TEREMID = t.C_TEREMID);
|
||||
|
||||
COMMIT TRANSACTION
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
|
||||
ROLLBACK TRANSACTION;
|
||||
THROW
|
||||
END CATCH
|
||||
END
|
||||
GO
|
||||
|
Reference in New Issue
Block a user