2009-09-01 17 views

risposta

34
INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES 

Questo funziona bene nel mio caso. Come stai cercando di ottenere quelle file nel database? SQL Server Mgmt Studio? Query SQL dall'app .NET?

esecuzione all'interno di Visual Studio nella finestra "Nuova query", ottengo:

i valori predefiniti di SQL costrutto o istruzione non è supportata.

==> OK, quindi Visual Studio non può gestirlo, non è colpa di SQL Server, ma di Visual Studio. Utilizza invece il vero SQL Management Studio: funziona perfettamente!

utilizzando ADO.NET funziona anche come un fascino:

using(SqlConnection _con = new SqlConnection("server=(local); 
          database=test;integrated security=SSPI;")) 
{ 
    using(SqlCommand _cmd = new SqlCommand 
      ("INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES", _con)) 
    { 
     _con.Open(); 
     _cmd.ExecuteNonQuery(); 
     _con.Close(); 
    } 
} 

sembra essere una limitazione di VS - non utilizzare VS per un serio lavoro DB :-) Marc

+0

Cercando di eseguirlo dal designer dello studio visivo (query). ricevi un messaggio di errore Non ricordo il testo esatto ora. –

+1

Grazie, questo funziona come un fascino nell'app. Non posso fidarmi di VS per fare tutto ... Ovviamente. –

-3

Invece di cercare a fare affidamento su qualche sintassi di "vALORI dI DEFAULT", come la parola, lasciare che il motore di aiuto con quello ... che ne dite esplicitamente cercando di impostare uno dei valori, come ad esempio

insert into YourTable (PickOneField) values ("whatever") 

Quindi, anche se stai preparando solo un campo, il nuovo record del motore nativo DOVREBBE popolare il resto con i rispettivi valori predefiniti.

+0

La tabella ha solo 1 colonna ed è l'identità. – Misko

Problemi correlati