RE: Null als Parameter in StoredProcedure liefert auf zwei Systemen ve
- From: "Christa Kurschat" <ChristaKurschat@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 17 Jun 2005 03:52:03 -0700
Hallo Markus,
"Markus Elsper" schrieb:
> Hi NG,
>
> ich habe eine StoredProcedure die mehrere Parameter enthält, einer davon
> (@ArbeitsgangNr), kann auch NULL sein.
> Der Parameter kommt dann in der SP in die Where Klausel
> (...where(ArbeitsgangNr = @ArbeitsgangNr))
>
> Rufe ich die SP auf dem lokalen SQL Server auf und übergebe NULL für
> @ArbeitsgangNr funktioniert es,
> auf dem Produktivsystem funktioniert es mit NULL nicht, es werden keine DS
> geliefert.
>
> Ändere ich die Prozedur dahingehend ab, dass ich prüfe, ob der Wert von
> @ArbeitsgangNr NULL ist und in diesem Fall die
> Where Klausel abändere von (...where(ArbeitsgangNr = @ArbeitsgangNr)) zu
> (...where(ArbeitsgangNr IS NULL))funktioniert es auch hier.
>
> Beide Systeme haben die gleiche Produktversion des SQL Servers (8.00.760
> (SP3)).
>
> Kann mir jemand erläutern wie dieses unterschiedliche Verhalten zustande
> kommt??
>
das liegt wahrscheinlich ander unterschiedlichen Einstellung von "Set
Ansi_nulls".
Am lokalen SQL Server ist die Einstellung wohl auf OFF gestellt.
Was soll denn passieren, wenn der Parameter NULL enthält?
Sollen dann alle DS ausgegeben werden, ändere das Statement folgendermaßen:
where(ArbeitsgangNr = @ArbeitsgangNr or @ArbeitsgangNr is null)
Sollen nur die DS ausgegeben werden, bei denen das entsprechende Feld NULL
sit, müßtest Du zu Begin der SP die Anweisung
SET ANSI_NULLS OFF
einfügen.
Gruß
Christa
.
- Follow-Ups:
- Re: Null als Parameter in StoredProcedure liefert auf zwei Systemen ve
- From: Wolfgang Wagner
- Re: Null als Parameter in StoredProcedure liefert auf zwei Systemen ve
- From: Markus Elsper
- Re: Null als Parameter in StoredProcedure liefert auf zwei Systemen ve
- From: Markus Elsper
- Re: Null als Parameter in StoredProcedure liefert auf zwei Systemen ve
- References:
- Prev by Date: Rückgabewert aus Procedure
- Next by Date: Re: Mail aus DTS-Paketen versenden
- Previous by thread: Null als Parameter in StoredProcedure liefert auf zwei Systemen verschiedene Ergebnisse
- Next by thread: Re: Null als Parameter in StoredProcedure liefert auf zwei Systemen ve
- Index(es):
Relevant Pages
|
Loading