2009-08-28 9 views
1

J'essaie de configurer une base de données SQL pour un système de gestion et d'installation de programme local. Je pense avoir créé un schéma réparable basique qui devrait fonctionner, mais je ne sais pas comment le traduire en une commande CREATE TABLE. Quelqu'un peut-il m'aider avec la traduction et/ou me diriger vers des ressources qui le feront?Création d'une table dans SQL Server Express

Schéma:

Programs(
    progID[key] (integer/index field?), 
    name (text), 
    desc (text), 
    iconFile (path to file), 
    installScript (path to file)) 

Répondre

3

Utilisez la syntaxe suivante:

create table programs (
    progid int primary key identity(1,1), 
    name nvarchar(255), 
    description nvarchar(500), 
    iconFile nvarchar(255), 
    installScript nvarchar(255) 
) 

Les primary key la colonne la progid être la colonne d'index de la table. La clause identity(1,1) définit le progid comme étant un champ à incrémentation automatique, commençant à 1 et incrémentant de 1 à chaque fois. Par conséquent, l'instruction SQL suivante entre les lignes correspondantes dans programs:

insert into (name, description, iconfile, installscript) 
values ('Name1', 'Test test', 'C:\file\path', 'C:\script\path') 
insert into (name, description, iconfile, installscript) 
values ('Name2', 'Test 123', 'C:\file\path1', 'C:\script\path2') 

------------------------------------------------------------------ 
progid name  description iconfile  installscript 
------------------------------------------------------------------ 
1   Name1 Test test  C:\file\path C:\script\path 
2   Name2 Test 123  C:\file\path1 C:\script\path2 

Avis, aussi, que je nvarchar au lieu de varchar. En effet, nvarchar utilise le jeu de caractères Unicode, tandis que varchar utilise le jeu de caractères ASCII. nvarchar est l'utilisation recommandée, car les caractères ASCII ne prennent pas d'espace supplémentaire dans Unicode, mais Unicode permet l'internationalisation et les caractères obscurs.

+0

il est revenu avec 'Erreur 156: syntaxe incorrecte près du mot-clé' desc '.' – RCIX

+0

Modifié en 'description'. 'desc' est un mot-clé réservé dans SQL, comme dans:' select * des programmes ordonnés par progid desc' qui sélectionne toutes les lignes dans 'programs' et les ordonne par la valeur' progid' dans l'ordre 'desc'ending. – Eric

+1

Ou si vous vouliez vraiment utiliser "desc" au lieu de "description", vous pouvez le placer entre crochets, c'est-à-dire [desc] nvarchar (500). Mais généralement, la vie est plus facile si vous pouvez éviter les mots-clés réservés entièrement. – Gavin

1

Les questions relatives à la syntaxe SQL doivent être adressées à plus Stack Overflow. Cela dit, si vous avez SQL Studio Management Express (grab it from here), lorsque vous créez votre structure de table, mais avant de l'enregistrer, vous pouvez cliquer sur l'icône "Générer un script" (il y a un défilement avec un disque dessus)), et il vous montrera le code qu'il est sur le point d'exécuter.

Questions connexes