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 … Weiterlesen

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 … Weiterlesen

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 … Weiterlesen

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 … Weiterlesen

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 … Weiterlesen

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 … Weiterlesen

Journal von Datensatzänderungen

Frage: Protokolliert der SQL Server bei der Änderung eines Datensatzes automatisch den Benutzer und die Uhrzeit der Änderung? Lösung: Nein. Eine Protokollierung wird nicht automatisch angeboten. Diese Informationen können aber innerhalb der Tabelle in eigens dafür angelegten Spalten gespeichert und mit einem Trigger aktualisiert werden. Hier ein Beispiel für einen solchen Trigger: Update tabelle Set … Weiterlesen

Views mit Sortierung

Frage: Innerhalb einer View sollen die Daten sortiert werden. Lösung: Im SQL Server 7.0 ist eine Sortierung innerhalb einer View nicht möglich. Um die Daten zu sortieren, muss eine Stored Procedure genutzt werden. /* übernommen aus der Original sqlfaq.de */