Nema veze skužio sam može delete
Trebam iz XML-a dodati Državu i Gradove ali samo ako već ne postoje u bazi.
Uspio sam za državu ali ne znam kako sad to isto napraviti i za gradove. Ne funkcioniram baš dobro ovako kasno...
Ovo imam za sad, molim pomagajte:
CREATE PROC UmetniDrzavu
@Drzava xml
AS
DECLARE @IDDrzava int
DECLARE @Naziv nvarchar(50)
SET @Naziv = (SELECT Tablica.Stupac.value('@Naziv','nvarchar(50)')
FROM @Drzava.nodes('/Drzava') AS Tablica(Stupac))
IF EXISTS(SELECT IDDrzava FROM Drzava WHERE Naziv = @Naziv)
BEGIN
SET @IDDrzava =(SELECT IDDrzava FROM Drzava WHERE Naziv = @Naziv)
END
ELSE
BEGIN
INSERT INTO Drzava(Naziv)
SELECT Tablica.Stupac.value('@Naziv','nvarchar(50)')
FROM @Drzava.nodes('/Drzava') AS Tablica(Stupac)
SET @IDDrzava = SCOPE_IDENTITY()
END
INSERT INTO Grad(Naziv,DrzavaID)
SELECT Tablica.Stupac.value('@Naziv','nvarchar(50)'),
@IDDrzava
FROM @Drzava.nodes('/Drzava/Gradovi/Grad') AS Tablica(Stupac)
WHERE NOT EXISTS(SELECT * FROM Grad WHERE Naziv = Tablica.Stupac.value('@Naziv','nvarchar(50)'))
GO
DECLARE @Drzava xml
SET @Drzava = N'
<Drzava Naziv="Brazil">
<Gradovi>
<Grad Naziv="Rio de Janeiro" />
<Grad Naziv="Salvador" />
<Grad Naziv="Fortaleza" />
</Gradovi>
</Drzava>'
EXEC UmetniDrzavu @Drzava
GO