Sql Server Management Studio - Creazione programmatica di script basati su DAL; Perché usare SET ANSI_NULLS ON prima di ogni tabella

StackOverflow https://stackoverflow.com/questions/1652119

Domanda

Sto cercando di generare gli script SQL per la creazione di tabelle a livello di codice sulla base di definizioni di classe nel mio DAL simili a SQL Server Management Studio.

Quindi, quando faccio clic con il tasto destro su una tabella in MS SMS, e dico alla tabella di script come > Crea in > nuova finestra di query, genera un codice molto comprensibile. Tuttavia, non sono sicuro del motivo per cui generano alcune delle seguenti righe:

  • IMPOSTA ANSI_NULLS SU
  • IMPOSTA QUOTED_IDENTIFIER SU
  • SET ANSI_PADDING ON
    • {LA TABELLA DEF VA QUI} ??
  • DISATTIVARE ANSI_PADDING

Ho consultato queste dichiarazioni nella documentazione del prodotto e capire a cosa servono, ma non sono sicuro del motivo per cui sono generati attorno a ciascuna dichiarazione di tabella.

È stato utile?

Soluzione

Queste impostazioni sono memorizzate con la definizione della tabella o del codice. Se imposti questi in un proc memorizzato, vengono ignorati in fase di esecuzione.

Quindi, se si esegue lo script della tabella, è necessario eseguire lo script anche delle impostazioni. Soprattutto se hai anche calcolato colonne ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top