Re: Simple Stored Procedure funktioniert mal und funktioniert mal nich



Hallo Jan,

> Hier wird die Prozedur _immer_ ordnungsgemäß mit einem Returnvalue
> beendet.
Das stimmt nicht. Deine PROC gibt keinen RETURN-Value zurück sondern
den Output läßt Du über eine OUTPUT-Variabel liefern.

Ein Return-Value in einer SP ist immer vom Datentyp int
Eine Return-Variable sollte in einer SP immer deklariert sein.
Verzichte auf die Verwendung von Variablen, die Du für die
Übergabe von Werten an die SP verwendest.

Beispiel [FALSCH]
CREATE PROC dbo.myProc
@Test int
AS
SET NOCOUNT ON

SET @Test = 1
RETURN @Test

SET NOCOUNT OFF

Beispiel [RICHTIG]
CREATE PROC dbo.myProc
@Test int
AS
SET NOCOUNT ON

DECLARE @RetValue int
SET @RetValue = @Test

RETURN ISNULL(@RetValue, 0)
SET NOCOUNT OFF


Die zweite Variante funktioniert bei mir schon seit mindestens 8 Jahren
fehlerfrei ;-)
--
Gruß, Uwe Ricken
MCP for SQL Server 2000 Database Implementation

GNS GmbH, Frankfurt am Main
http://www.gns-online.de
http://www.memberadmin.de
http://www.conferenceadmin.de
____________________________________________________
APP: http://www.AccessProfiPool.de
dbdev: http://www.dbdev.org
FAQ: http://www.donkarl.com/AccessFAQ.htm


.



Relevant Pages

  • Re: Simple Stored Procedure funktioniert mal und funktioniert mal nich
    ... Deine PROC gibt keinen RETURN-Value zurück sondern ... > Ein Return-Value in einer SP ist immer vom Datentyp int ... > Eine Return-Variable sollte in einer SP immer deklariert sein. ... > SET NOCOUNT OFF ...
    (microsoft.public.de.sqlserver)
  • Re: Bcp and temp tables
    ... Here is the proc: ... bcp "SET FMTONLY OFF EXEC pubs.dbo.Kristoffer" queryout ... without SET NOCOUNT ON with the same results. ... > Tibor Karaszi, SQL Server MVP ...
    (microsoft.public.sqlserver.programming)
  • Re: Stop DTS execution
    ... Include SET NOCOUNT ON as the first statement in your proc: ... CREATE PROC StorProc ... >>SQL Server MVP ...
    (microsoft.public.sqlserver.programming)
  • Re: Help - stored procedure not returning a recordset
    ... > Remember to SET NOCOUNT OFF at the end of the proc too ... The setting only lasts for the scope of the proc (or the proc that ... I always SET NOCOUNT ON and out of n stored procedures I have, ...
    (microsoft.public.inetserver.asp.db)