fatz Geschrieben 13. Dezember 2008 Teilen Geschrieben 13. Dezember 2008 hi, mache gerade meine ersten schritte mit sql 2005 und bin mir nicht sicher ob folgendes funktioniert: SET @query = 'SELECT * FROM ' + @table_name IF EXISTS (EXEC(@query)) Der Server erzählt mir etwas von falscher syntax. Ich kann mir eigentlich nicht vorstellen, dass diese konstruktion grundsätzlich nicht funktioniert.... was meint ihr? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
spix Geschrieben 13. Dezember 2008 Teilen Geschrieben 13. Dezember 2008 hi, mache gerade meine ersten schritte mit sql 2005 und bin mir nicht sicher ob folgendes funktioniert: SET @query = 'SELECT * FROM ' + @table_name IF EXISTS (EXEC(@query)) Der Server erzählt mir etwas von falscher syntax. Ich kann mir eigentlich nicht vorstellen, dass diese konstruktion grundsätzlich nicht funktioniert.... was meint ihr? Bin zwar auch blutiger Anfänger, aber heißt das net: select * from table_name ? Ich meine ohne dem " ' ' " und ohne @. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
fatz Geschrieben 13. Dezember 2008 Autor Teilen Geschrieben 13. Dezember 2008 @table_name ist eine variable. die zeile mit SET baut einen string zusammen, der später ausgeführt werden soll. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
spix Geschrieben 13. Dezember 2008 Teilen Geschrieben 13. Dezember 2008 @table_name ist eine variable. die zeile mit SET baut einen string zusammen, der später ausgeführt werden soll. Dann probiers doch einfach in der Testumgebung aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
fatz Geschrieben 13. Dezember 2008 Autor Teilen Geschrieben 13. Dezember 2008 ich sagte doch, dass der server etwas von falscher syntax schreibt, wenn ich das kommando absetze. der befehl ist aber so klein, dass man an der syntax nicht viel falsch machen kann ... ich weiß eben nur nicht ob eine solche konstruktion mit IF EXISTS und dem EXEC überhaupt möglich ist Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 13. Dezember 2008 Teilen Geschrieben 13. Dezember 2008 Hi, SQL ist eine mengenorientierte Abfragesprache und keine Programmiersprache. Wenn Du wissen möchtest, ob in der Tabelle Einträge sind, dann verwende die COUNT Funktion ggf. mit der TOP Klausel. In T-SQL oder PL/SQL muss das Ergebnis eines SQLs immer auch irgendwo abgespeichert werden. Einfach ein SQL ausführen funktioniert nicht. Du musst einen explizieten oder Implizieten Cursor verwenden, damit die DB auch weiß wohin denn das Ergebnis abgelegt werden soll. mache gerade meine ersten schritte mit sql 2005 Mein Rat: Such dir ein Tutorial im Internet oder besser noch besorg dir ein gutes Buch über den SQL Server (die Bewertungen bei amazon helfen bei der Auswahl). Ansonsten dürften sich deine Ersten Schritte unnötig schwerer als nötig gestalten. Den Kaufpreis des Buches kannst übrigends von der Steuer absetzen (evtl. ist noch eine Bestätigung des AG nötig). Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 16. Dezember 2008 Teilen Geschrieben 16. Dezember 2008 die im OP angegebene syntax ist erstens flasch, zweitens sinnlos. wozu sollte man ein mittels EXE ausgeführtes SELECT-ergebnis auf EXISTS überprüfen wollen? wenn du die anzahl des abfrageergebnisses haben willst, verwende anschliessend ROWCOUNT: SELECT @RowCount = @@ROWCOUNT s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.