Frage : Gespeichertes Verfahren mit wahlweise freigestelltem Parameter

Hallo, das

I meine ersten Schritte mit dem SQL-Server tuend und ich ein gespeichertes Verfahren mit wahlweise freigestelltem parameter.
So verwenden mögen, was ich soll Daten von einer Tabelle vorwählen benötige und wenn der Jahrparameter die Bedingung ist das gegebene Jahr gegeben, sonst ist das current.
With der Monat das selbe, wenn der Parameter uns es gegeben und sonst das gegenwärtige one.
If dort kein IP ist, das jedes IP gegeben, ist selected.

I versucht von mich, aber dieses scheint, das falsche Weise…
Can zu sein, das jemand mir diese Arbeit plese bildend helfen?

Thanks

Andre
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
SET ANSI_NULLS AN
GEHEN
QUOTED_IDENTIFIER AN EINSTELLEN
GEHEN

VERFAHREN [dbo] ÄNDERN. [GetDatas] 
(
	@Year int = NULL
	, @Month int = NULL
	, @IP varchar (20) = „%“
)
WIE
ANFANGEN
	NOCOUNT AN EINSTELLEN;

	Das nvarchar @sql ERKLÄREN (4000)

	@sql VORWÄHLEN = 'VORWÄHLEN * VON InternetLog, IN DEM S-ip MÖGEN '' @IP '''
	
	WENN @YEAR, IST UNGÜLTIG
		@sql = @sql + „UND JAHR (logdate) VORWÄHLEN = JAHR (GETDATE ())“
	SONST
		@sql = @sql + „UND JAHR (logdate) VORWÄHLEN = @Year“

	WENN @MONTH UNGÜLTIG IST
		@sql = @sql + „UND MONAT (logdate) VORWÄHLEN = MONAT (GETDATE ())“
	SONST
		@sql = @sql + „UND MONAT (logdate) VORWÄHLEN = @Month“
		
	@sql = @sql VORWÄHLEN + „AUFTRAG DURCH Logdate ASC“
	
	Exec @sql
ENDE

Antwort : Gespeichertes Verfahren mit wahlweise freigestelltem Parameter

Mit irgendeinem Fall (Linie 4):

1:
2:
3:
4:
5:
6:
7:
8:





Weitere Lösungen  
 
programming4us programming4us