Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?

Geschrieben
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 @.:)

Geschrieben
@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.:)

Geschrieben

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

Geschrieben

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

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...