Das folgende SQL Script löscht die JTL Internen Stücklisten, wenn dort Informationen im Attribute / Freifeld, welches in Zeile 1 angegeben ist vorhanden sind. Es wird dabei jedoch nicht geprüft, ob diese inhaltlich gleich der Stückliste sind.
Code Block |
---|
|
declare @attribute VARCHAR(200) = 'Komponente1'
DELETE FROM tStueckliste
WHERE kStueckliste IN (SELECT
a.kStueckliste
FROM tartikel a
JOIN dbo.tArtikelAttribut a1
ON a1.kArtikel = a.kArtikel
JOIN dbo.tArtikelAttributSprache aas
ON aas.kArtikelAttribut = a1.kArtikelAttribut
JOIN dbo.tAttributSprache as1
ON as1.kAttribut = a1.kAttribut
AND as1.kSprache = 0
WHERE as1.cName = @attribute
AND ISNULL(aas.cWertVarchar, '') != ''
AND a.kStueckliste != 0)
UPDATE a
SET a.kStueckliste = 0
FROM tartikel a
JOIN dbo.tArtikelAttribut a1
ON a1.kArtikel = a.kArtikel
JOIN dbo.tArtikelAttributSprache aas
ON aas.kArtikelAttribut = a1.kArtikelAttribut
JOIN dbo.tAttributSprache as1
ON as1.kAttribut = a1.kAttribut
AND as1.kSprache = 0
WHERE as1.cName = @attribute
AND ISNULL(aas.cWertVarchar, '') != ''
AND a.kStueckliste != 0 |