müssen Sie die Länge des Typs in einem Sproc-Parameter angeben?

Kann Ihnen SQL server erlauben, gespeicherte Prozedurparameter wie folgt zu deklarieren?

@username NVARCHAR 

Oder musst du immer so eine Größe angeben?

 @username NVARCHAR(100) 

   

Wenn Sie nicht eine Länge angeben, wird es standardmäßig auf 1. Auch wenn das Ihre Absicht ist, ist es besser, so explizit zu sein:

 nvarchar(1) 

Edit: Ich hätte darauf hinweisen müssen, dass meine vorherige Aussage nur auf Deklarationen zutrifft – wenn Sie nvarchar in einer cast statement verwenden und eine Länge auslassen, wird sie standardmäßig auf 30 gesetzt.

Sie müssen nicht eine Länge angeben, zumindest in SQL server 2005, aber es ist eine gute Praxis, dies zu tun.