Jump to content

T-SQL - Prüfen, ob Pfad existiert


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Community,
 
Ich habe eine Prozedur, welche unter anderem einen Pfad und einen Dateinamen in eine Tabelle schreibt. Hier ein Auszug:
 
 

DECLARE

--

@FIRMA INTEGER, 
@BATYPE CHAR(1),
@BANUMMER VARCHAR(15),
@LFDNR INTEGER,
@DOCDIR VARCHAR(254),
@DOCTYPE INTEGER,
@DOCNAME VARCHAR(254),
@DOCINFO VARCHAR(254),

INSERT INTO BAKDOKS (
FIRMA, BATYPE, BANUMMER, LFDNR,
DOCDIR, DOCTYP, DOCNAME, DOCINFO)
--
SELECT
FIRMA, BATYPE, BANUMMER,
-- LFDNR
'1',
-- DOCDIR
'c:\temp', '1',
-- DOCNAME
(BANUMMER +'-astl.pdf'),
-- DOCINFO
'Stückliste'
--

FROM BAKOPF
WHERE ISNULL(LTRIM(RTRIM(BANUMMER)),'') <> ''
AND NOT EXISTS(SELECT * FROM BAKDOKS WHERE BAKDOKS.FIRMA = BAKOPF.FIRMA AND BAKDOKS.BANUMMER = BAKOPF.BANUMMER AND BAKDOKS.LFDNR = 1)

 
Nun möchte ich allerdings diese Werte nur in die Tabelle BAKDOKS schreiben, wenn der Pfad inkl. Dateiname ('c:\temp\' + BANUMMER + '-astl.pdf') auch tatsächlich existiert (!).
 
Zur Prüfung, ob ein Pfad existiert habe ich folgenden Ansatz gefunden:
 

DECLARE @datei_vorhanden int 
EXEC master..xp_fileexist 'c:\winnt\notepad.exe', @datei_vorhanden OUTPUT 
IF @datei_vorhanden = 1 
PRINT 'Datei existiert' 
ELSE 
PRINT 'Datei existiert nicht.'


 
Leider weiß ich nicht, wie ich das in mein Statement einbauen kann. Ein EXEC im Where-Clause ist nicht möglich, soviel ich weiß.
 
Kann jemand helfen?
 
Danke :-)
 
 
Gruß
 
Faraday
 

bearbeitet von Faraday
Link zu diesem Kommentar
  • 2 Monate später...
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...