Die Spalten einer View enthalten die falschen Daten

Frage: Eine View liefert in den Spalten nicht die korrekten Inhalte, sondern Inhalte von anderen Spalten. Lösung: In der zugrundeliegenden Tabelle wurde die Reihenfolge der Spalten verändert. Diese Änderung wird nur dann automatisch an der View angepasst, wenn die View mit der Option with schemabinding angelegt wird. with schemabinding verhindert aber das nachträgliche Ändern von …

Identitätsspalte zu klein

Frage: Das Einfügen eines neuen Datensatzes in eine Tabelle mit IDENTITY-Spalte wird mit der Fehlermeldung „Arithmetischer Ãœberlauffehler beim Konvertieren von IDENTITY in den Datentyp int.“ abgebrochen. Lösung: Eine Identitätsspalte wird mit dem Feldtyp integer angelegt. Die Fehlermeldung „Arithmetischer Ãœberlauffehler beim Konvertieren von IDENTITY in den Datentyp int.“ deutet darauf hin, dass der neu erzeugte IDENTITY-Wert …

DRI oder Trigger

Frage: Beim Upsizing einer Access-Datenbank auf den SQL Server muß innerhalb des Upsizing-Assistenten die Entscheidung getroffen werden, ob DRI oder Trigger angelegt werden soll. Worin bestehen sind die Unterschiede? Lösung: DRI steht für Deklarative Referentielle Integrität und wird zur Prüfung der Datenkonsistenz genutzt. Bei einer bestehenden Beziehung zwischen zwei Tabellen können z.B. keine Datensätze gelöscht …

Prüfung, ob Spalte die IDENTITY-Eigenschaft hat

Frage: Mit welchem Befehl kann ermittelt werden, ob es sich bei einer Spalte um eine IDENTITY-Spalte handelt? Lösung: Mit dem SQL-Statement SELECT ColumnProperty (object_id(‚tabelle‘), ’spalte‘, ‚isIdentity‘) kann überprüft werden, ob es sich bei der Spalte um eine IDENTITY-Spalte handelt. /* übernommen aus der Original sqlfaq.de */

Unterschied decimal zu float

Frage: Worin bestehen die Unterschiede in den Datentypen decimal bzw. numeric und float bzw. real? Lösung: Werte, die bei der Erfassung bis auf die letzte Ziffer gespeichert werden müssen, sollten mit den Datentypen decimal oder numeric gespeichert werden. Werte, die berechnet werden und dabei ein Ergebnis wie 0,33333 (Periode) haben, sollten mit den Datentypen float …

Abfrage einer Datenansicht speichern

Frage: Im SQL-Server 2000 ist es möglich, den Inhalt der Datenansicht einer Tabelle über eine Abfrage einzugrenzen. Innerhalb der Abfragendefinition wird über das Kontextmenü die Möglichkeit angeboten, diese Abfrage zu speichern. Die Abfragen werden aber nicht gespeichert. Lösung: Stimmt, denn das Speichern der Abfrage wird trotz des Angebots im Kontextmenü nicht unterstützt. Dies wird in …

Systemtabellen ausblenden

Frage: Die Systemtabellen können im Enterprise Manager ausgeblendet werden. An welcher Stelle befindet sich diese Option? Lösung: Die Systemtabellen können innerhalb der SQL Server-Registrierung ausgeschaltet werden. Im Kontextmenü des SQL Servers kann über Eigenschaften der SQL Server-Registrierung bearbeiten … der Dialog zur Verwaltung der Eigenschaften gestartet werden. Hier muß die Option Systemdatenbanken und Systemobjekte anzeigen …

Datentypen CHAR und VARCHAR

Frage: Was sind die genauen Unterschiede zwischen den Datentypen char und varchar? Lösung: In beiden Datentypen können alphanumerische Zeichen gespeichert werden. Dabei wird beim Datentyp char der reservierte Platz immer bis zur vollen Länge mit Leerstellen aufgefüllt. Dies gilt auch beim Wert NULL. Dadurch belegt der Datentyp bei an sich variablen Werten deutlich mehr Platz …

Views mit Parametern

Frage: Können Parameter an Views übergeben werden? Lösung: Nein. Ein SELECT-Statement mit Parametern kann nur in einer Stored Procedure genutzt werden. * übernommen aus der Original sqlfaq.de */

Temporäre Tabellen (#temp und ##temp)

Frage: Worin besteht der Unterschied einer globalen temporären Tabelle (##temp) zu einer lokalen temporären Tabelle (#temp)? Lösung: Die lokalen temporären Tabellen (#) sind nur innerhalb der Session vorhanden, in der sie erzeugt wurden. Eine in einer Stored Procedure erzeugte #temp-Tabelle steht auch nur in dieser Stored Procedure zur Verfügung. Sofern die Stored Procedure weitere Stored …