Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di xonica
    Registrato dal
    Oct 2003
    Messaggi
    143

    SQL SERVER ... ALTER Table

    ho la necessita' di inserire una nuova colonna in una tabella gia creata, ma questa colonna non deve essere messa alla fine ma in una posizione ben specifica, cioè dopo un campo ben determinato.

    per inserire una colonna si usa
    codice:
    ALTER TABLE tablename ADD columnname
    ma questa istruzione mi inserisce il campo columnname alla fine....


    possibile che non ci sia una bella istruzione che mi permetta di indicare dove deve essere inserito questo campo?

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    No, non si può; o quantomeno non si può usando le istruzioni SQL

    How to add a new column at a specific position (say at the beginning of the table or after the second column) using ALTER TABLE command?

    ALTER TABLE always adds new columns at the end of the table and will not let you add new columns at a specific position. If you must add a column at a specific position, use Enterprise Manager. In Enterprise Manager, right click on the table, select 'Design Table'. Right click on the desired location and select 'Insert Column'. Mind you, Enterprise Manager drops and recreates the table to add a column at a specific location . So it might take a long time if your table is huge.

  3. #3
    Utente di HTML.it L'avatar di xonica
    Registrato dal
    Oct 2003
    Messaggi
    143
    ok ... devo farlo con enterprise manager....

    quello che praticamente fa enterprise manager è di farsi una copia di localo di tutte le colonne successive alla posizione da me indicata... eliminare le suddette colonne dalla tabella, aggiungere con ALTER TABLE la colonna DA ME INDICATA ed eseguire alla fine una ALTER TABLE di tutte le colonne COPIATE

    es pseudo-codice (con tabella LETTERE con campi [a,b,c,e,f])
    codice:
    ALTER TABLE tablename ADD d VARCHAR(255) AFTER c
    - COPY COLUMN e, f
    - DROP COLUMN e, f
    - ADD COLUMN d
    - ADD COLUMN e, f
    dovrei poter creare uno script?

    si puo' crere una cosa del genere tutto con una stringa sql di sql server?

  4. #4
    Utente di HTML.it L'avatar di xonica
    Registrato dal
    Oct 2003
    Messaggi
    143
    mi serve sapere cio' xke mettiamo che io abbia creato un software e lo abbia distribuito ad un cliente.
    Questo poi mi chiede di aggiungere un campo a quel punto io mica posso stare ad installare ENTERPRISE MANAGER per aggiungere questo campo dappertutto!!!!

    sarebbe + utile creare un qualche script sql che pur essendo lento ... deve essere eseguito dal software stesso in modo invisibile quando viene avviato! in questo modo mi permetterebbe di aggiornarlo senza installare altri programmi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.