Datenbanken

Hier finden Sie Programme, Code und SQL-Code für MS SQL Server, Firebird und PostgreSQL.

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

(20.09.2018)

Baumstrukturen sind in der Programmierung in vielen Variationen vorhanden, z.B. in Treeviews oder Menüs. Die Speicherung der Knotendaten in einer Datenbank ist dabei einfacher als die Abfrage: mittels eines "Parent"-Feldes kann der Primärschlüssel des übergeordneten Elements angegeben werden. Bei der Erzeugung der Baumstruktur dagegen tritt das Problem auf, daß die Rückgabemenge sinnvollerweise so sortiert ist, daß zunächst die oberste Ebene zurückgeliefert wird, dann die zweite, dann die dritte usw. und das sinnvollerweise Kreisstrukturen verhindert werden.

In einer Abfrage läßt sich das ganz leicht mittels Tabellenvariablen realisieren. Dazu werden aus der Quelldatenmenge zunächst die Tupel ausgewählt, die keinen

Weiterlesen ...

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Die folgende T-SQL-Syntax kann verwendet werden, um zeitbezogen erfaßte Daten  zeitraumbasiert zu gruppieren und je Zeitraum den Anfangs- und Endwert und Minimum und Maximum zu ermitteln. Ausgang ist jeweils eine Tabelle mit drei Spalten: ID (Int, Identity), TIMESTAMP (datetime) und val (decimal).

 

SELECT
DO.ID
,START_TIME=DO.TIMESTAMP
,END_TIME=DC.TIMESTAMP
,OPEN_VAL=DO.VAL
,MIN_VAL=S2.MIN_VAL
,MAX_VAL=S2.MAX_VAL
,CLOSE_VAL=DC.VAL
FROM
DATA AS DO
INNER JOIN
(SELECT
MIN_ID=MIN(S1.ID)

Weiterlesen ...

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

(Dieser Artikel wurde vorher auf http://www.tgvconsult.de/blog/4-geschichten-aus-dem-leben/18-ms-sql-server-neuerstellen-aller-indizes-in-einer-datenbank.html veröffentlicht.)

(02.07.2013)

Wenn man in die Verlegenheit kommt, einen Rebuild aller Indizes in einer MS-SQL-Datenbank machen zu müssen, dann gibt es dafür eine relativ einfache Lösung.

Vorgehensweise mit dem SQL server Management Studio:

Schritt 1: Datenbank auswählen und neue Abfrage erstellen, Ergebnistyp Text (nicht

Weiterlesen ...