Archiv der Kategorie 'MS SQL Server'

Dynamisches Top n in SQL 2000

Montag, den 27. Juni 2011

Ab SQL Server 2005 kann man TOP n über SELECT TOP (@n) … erledigen:
declare @n integer set @n = 2
select top (@n) a from (select 1 as a union all select 2 [...]

begin try in SQL-Batch-Statements

Dienstag, den 22. Juni 2010

Es kommt öfter vor, dass man im Batch mehrere SQL-Statements ausführen möchte, sei es in einer Stored Procedure oder im Execute SQL-Task von SSIS.
Meistens hat man folgende Anforderung:
Läuft ein Statement auf einen Fehler, soll ein Rollback der Statements gemacht werden. Außerdem soll natürlich dem aufrufenden System der Fehler gemeldet werden.
Lässt man einen Batch einfach so [...]

Verhalten von Views bei Strukturänderungen der zugrundeliegenden Tabellen

Dienstag, den 16. März 2010

Ein View, der mittels * alle Spalten einer verwendeten Tabelle zurückgibt, wie z.B.

CREATE VIEW dbo.testView
AS
SELECT u.*, k.name as Kunden_Name, k.AnzahlKinder
FROM umsatz u
INNER JOIN kunde k
ON k.kunde_id = u.kunde_id

verhält sich überaschend, wenn sich die Tabellenstruktur der zugrunde liegenden Tabellen ändert. Die Metainformationen aktualisieren sich nämlich nicht automatisch, was sogar zu Datentypsverletzungen führen kann.
Nehmen wir an, die [...]

SQL: Dateiname extrahieren

Dienstag, den 21. April 2009

Hier ein schönes Beispiel, in der man die SQL-Server-String-Funktion reverse zum Umdrehen eines Strings (Hallo –> ollaH) sinnvoll einsetzen kann.
Wir nehmen an, dass in einer Tabelle Dateinamen voll qualifiziert stehen, also z.B. c:\temp\blog\test.txt.
Nun sei die Aufgabe, den Dateinamen (hier test.txt) zu ermitteln. Dazu muss das letzte Auftreten von \ gefunden werden und der String rechts [...]