Veröffentlicht 13. Dezember 200816 j 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?
13. Dezember 200816 j 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 @.
13. Dezember 200816 j @table_name ist eine variable. die zeile mit SET baut einen string zusammen, der später ausgeführt werden soll.
13. Dezember 200816 j @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.
13. Dezember 200816 j 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
13. Dezember 200816 j 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
16. Dezember 200816 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.