Thema: Delphi StoredProc

Einzelnen Beitrag anzeigen

jensw_2000
(Gast)

n/a Beiträge
 
#4

Re: StoredProc

  Alt 10. Aug 2005, 09:27
So funktioniert es ...
Du musst prüfen ob die initiale Abfrage "SELECT * FROM MPK_FORM WHERE FORMNR = @FormNr" Datensätze zurückgibt ...

SQL-Code:
CREATE PROCEDURE SP_IMPORT_FORM
  @FormNr VARCHAR(5) = NULL
AS
-- versuche @FormNr in MPK_FORM zu finden
SELECT * FROM MPK_FORM WHERE FORMNR = @FormNr

-- wenn @@ROWCOUNT = 0 (also kein Datensatz zurückgegeben)
IF @@ROWCOUNT = 0
BEGIN
  -- Gib alle Spalten und alle Datensätze der Tabelle MPK_DEKOR zurück
  SELECT * FROM MPK_DEKOR
END
ELSE
BEGIN
  -- Gib alle Spalten und alle Datensätze der Tabelle MPK_SAMMEL zurück
  SELECT * FROM MPK_SAMMEL
END
GO
Die Variante von Marcel funktioniert auch, jedoch machst du dann einen zusätzlichen (unnötigen) Funktionsaufruf (EXISTS), den wir mit meiner Methode vermeiden können.
@@ROWCOUNT wird standardmäßig bei jedem INSERT, UPDATE, SELECT, DELETE zurückgegeben.
  Mit Zitat antworten Zitat