2010-11-20 7 views
1

J'étais en fait en train de créer une table d'échantillon dans ma base de données de test quand une certaine façon j'ai manqué syntaxe et est venu avec cette déclaration pour créer la table -question simple sur un SQL créer table

CREATE TABLE A (id as INT, column1 as nvarchar(10)) 

et quand j'ai essayé d'exécuter cette instruction, je suis l'erreur ci-dessous -

'nvarchar' is not a recognized built-in function name. 

Altough, je trouve que je ne devrais pas avoir utilisé « comme » dans la déclaration de la colonne et corrigeais, je suis curieux pourquoi J'ai eu cette erreur pour seulement nvarchar et non pour INT. Aussi pourquoi cette erreur au lieu d'une syntaxe incorrecte ou quelque chose comme ça.

Merci d'avance.

+0

CREATE TABLE #Un (id INT) 'sur son propre vous donnera une autre erreur' syntaxe incorrecte près ')' –

Répondre

4

AS est utilisé pour définir des colonnes calculées. Par conséquent SQL Server attend une expression ici, et cela "ressemble" à un appel de fonction.

Computed columns info on MSDN for SQl Server 2005

+0

Wow, c'est quelque chose de nouveau pour moi. J'ai toujours pensé que "as" est pour alias. Ce concept de colonnes calculées, je peux en faire usage dans de nombreux endroits dans mon projet aussi. –