2009-11-23 16 views
0
ALTER TABLE Physician 
Modify (RefLastName nvarchar(500), 
RefFirstName nvarchar(500)); 

Obtention de l'erreur de syntaxe incorrecte ...Quel est le problème dans cette requête?

+0

Qu'est-ce que vous essayez accomplir avec cela? Je ne sais pas quelle version vous utilisez mais je ne pense pas que Modify soit une option valide voir http://msdn.microsoft.com/en-us/library/ms190273.aspx – StevenWilkins

Répondre

1

Êtes-vous d'ajouter des colonnes ou changer la taille?

Vous pouvez d'abord essayer de rechercher une table dans BOL, puis revenir ici si cela ne vous aide pas.

3

La façon dont vous utilisez ALTER TABLE n'est pas comme CREATE TABLE. Vous mentionnez les modifications apportées aux éléments de la table plutôt que de spécifier toutes les colonnes à partir de zéro. Comme:

ALTER TABLE TableName 
ADD LastName NVARCHAR(100) NOT NULL 
0

Quelle est votre erreur de syntaxe?

Je regardé http://www.techonthenet.com/sql/tables/alter_table.php

Peut-être essayer avec:

ALTER TABLE Physician 
Modify (RefLastName varchar2(500), 
     RefFirstName varchar2(500)); 
+0

On dirait que la syntaxe d'Oracle ... il n'a pas spécifié le type de serveur – Broam

+0

Non en fait, je n'ai aucun problème à mettre à jour la taille de la colonne en utilisant ALter Table et Alter column directement dans MSSMS. Mais j'essaie de mettre à jour plusieurs colonnes en utilisant le code C# (SqlCommand). – Jango

1

Je ne sais pas ce que vous essayez de faire. Changez-vous la taille? Si oui, cela suffit:

ALTER TABLE Physician ALTER COLUMN RefLastName nvarchar(500)

GO

ALTER TABLE Physician ALTER COLUMN RefLastName nvarchar(500)

GO

(Vous devrez peut-être forcer une reconstruction des index.)

+0

Oui J'essaie de changer la taille de la colonne du code C# en utilisant SqlCommand. – Jango

+0

Oke. Mon problème est que je mets à jour la taille de la colonne en utilisant le code C#. Si j'utilise l'instruction ci-dessus sans instruction Go, SqlCommand (cmd.ExuecteNonQuery) met à jour la taille de la colonne mais renvoie -1. Si j'utilise Go Statment, cela donne une syntaxe incorrecte proche de 'Go'. Je ne sais pas si vous pouvez m'aider à ce sujet en utilisant le code C#. Si vous voulez, je peux aussi coller mon code C#. – Jango

+0

OK, ExecuteNonQuery renvoie -1. C'est normal. De MSDN: "Pour les instructions UPDATE, INSERT et DELETE, la valeur de retour est le nombre de lignes affectées par la commande. [...] Pour tous les autres types d'instructions, la valeur de retour est -1." –

Questions connexes