Tag: "coding"

Short-Circuiting und CASE Ausdrücke
Mär 4th
Bart Duncan hat einen sehr interessanten Blog-Eintrag zu Short-Circuiting und CASE Audrücken verfasst. mehr »

SELECT COUNT(*) vs. SELECT COUNT(1)
Jan 25th
Immer wieder kann man die Datenbank Communities die Behauptung lesen, dass ein SELECT (1) schneller sein soll als ein SELECT COUNT(*). mehr »

Wie oft wird ein Trigger abgefeuert?
Jan 7th
Genau einmal pro INSERT/UPDATE/DELETE Aktion wird ein Trigger abgefeuert. Auch wenn zum Beispiel ein UPDATE Statement mehr als eine Zeile betrifft. mehr »

ERROR_PROCEDURE gibt keinen Schemanamen zurück
Dez 28th
Ein kürzlicher Beitrag von Yuri (object_id der aktuellen gespeicherten Prozedur ermitteln) hat mich daran erinnert, dass ich schon seit einiger Zeit meinem Unmut über eine Inkonsequenz in SQL Server Ausdruck verleihen wollte. mehr »

IDENTITY Eigenschaft entfernen
Nov 25th
So einfach und leicht das Definieren der IDENTITY Eigenschaft für eine numerische Spalte ist, so umständlich und wenig intuitiv ist das Entfernen dieser Eigenschaft später wieder. Es gibt tatsächlich keinen direkten Weg, so wie ALTER TABLE DROP IDENTITY… mehr »

DEFAULT Constraint mit systemdefiniertem Namen löschen
Nov 15th
Dies passiert häufig, wenn man graphische Tools wie SSMS zum Tabellendesign verwendet oder seine CREATE TABLE Statements folgendermassen schreibt: mehr »

Zahlen eines Integers aufaddieren
Okt 17th
DECLARE @i int, @l int; SELECT @i = 12, @l = LEN(@i); SELECT SUM(x.Digit) FROM (SELECT CAST(SUBSTRING(RTRIM(@i), N.Number, 1) AS int) AS Digit FROM dbo.Number N WHERE N.Number BETWEEN 1 AND… mehr »

JOIN Stolperfallen Teil 2
Aug 26th
Immer wieder kann man Leute beobachten, die fragen, warum ihr LEFT JOIN Statement nicht das gewünschte Resultset zurückbringt. mehr »

Beginning T-SQL 2008
Jun 29th
Bücher für Anfänger in T-SQL gibt es mittlerweile viele. Darunter sind sowohl gute als auch weniger gute. Die Wahl des "richtigen" Buches ist naturgemäss nicht einfach und schnell kann es passieren, dass der Leser durch das für ihn falsche Buch das… mehr »

Expert SQL Server 2008 Encryption
Jun 24th
Es ist keine grosse Neuigkeit, dass an immer mehr Stellen immer mehr Daten gesammelt werden und dementsprechend auch die dahinterliegenden Datenbanken immer grösser und komplexer werden. Gleichzeitig ist es auch keine Neuigkeit, dass diese Daten mehr… mehr »

Sichtbarkeit von Metadaten
Feb 17th
Eine dieser berühmt-berüchtigten "Kleinigkeiten", über die ich mir bisher wenig Gedanken gemacht habe, ist die Sichtbarkeit von Metadaten innerhalb einer SQL Server Datenbank. Sie waren bisher einfach immer und überall verfügbar, sprich abfragbar.… mehr »

Spaltenwerte als kommaseparierte Liste zurückgeben Teil 2
Sep 28th
In diesem Beitrag haben wir uns mit der Rückgabe von Werten einer Spalte als separierte Liste beschäftigt. Vielfach sieht man aber auch die Anforderung, diese Liste auf der Basis eines bestimmten Schlüsselwertes zu generieren. mehr »

Wie kann ich Startup Prozeduren identifizieren?
Aug 31st
Startup Prozeduren werden beim Start von SQL Server ausgeführt. Typische Verwendungszwecke sind zum Beispiel:
das Befüllen von globalen Parameter Tabellen
Um eine Prozedur als Startup Procedure festzulegen, muß man die Systemprozedur sp_procoption… mehr »

Wie kann ich Startup Prozeduren identifizieren?
Aug 31st
Startup Prozeduren werden beim Start von SQL Server ausgeführt. Typische Verwendungszwecke sind zum Beispiel:
das Befüllen von globalen Parameter Tabellen
Um eine Prozedur als Startup Procedure festzulegen, muß man die Systemprozedur sp_procoption… mehr »

Wie kann ich programmatisch IDENTITY Spalten in meinen Tabellen identifizieren?
Aug 31st
In SQL Server 2000 und früher funktioniert folgendes:
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA+'.'+TABLE_NAME), COLUMN_NAME,'IsIdentity')=1;
SELECT su.name AS TABLE_NAME,… mehr »

SQL Server rundet falsch oder doch nicht
Jun 7th
Multipliziert man zwei Zahlen, die in Addition sowohl bei den Vorkomma- als auch bei den Nachkommastellen, den derzeit "maximalen" Datentyp DECIMAL(38,10) überschreitet, kann man unter Umstände eine Überraschung erleben. Das Ergebnis weicht ab von… mehr »

JOINs
Jul 31st
Einer der effizientesten Wege, um die JOIN Performance zu erhöhen ist die Anzahl der Zeilen die geJOINt werden, zu beschränken. Dies gilt insbesondere für die äußere(n) Tabelle(n) eines JOINs. Es sollten nur die Zeilen zurückgegeben werden, die auch für… mehr »

Pro SQL Server 2005 T-SQL Recipes
Mär 6th
Die Online Hilfe des SQL Servers (Books Online, aka BOL) ist eine technische Dokumentation, die an Umfang und Ausführlichkeit kaum Wünsche offenläßt. Nahezu alles, was man zum SQL Server wissen muß und will, wird in BOL erklärt. Man muß "nur" wissen,… mehr »

Nominalzins aus Effektivzins errechnen
Jan 30th
Wie man die effektive Verzinsung aus der Nominalverzinsung errechnet, haben wir in diesem Beitrag gesehen. Neulich hat mich aber ein Posting in den MSDN Newsgroups auf die Excel Funktion NOMINAL() aufmerksam gemacht, die genau das Gegenteil macht.… mehr »

JOIN Hints
Dez 26th
JOIN Hints können in einer Abfrage verwendet werden, um den JOIN Typ festzulegen, den der Query Optimiser für den Ausführungsplan verwenden soll: Folgende JOIN Optionen stehen zur Verfügung: - Loop - Merge - Hash
Die Syntax für einen JOIN Hint ist (am… mehr »

Die deutsche 30/360 Zinsberechnungsmethode
Nov 3rd
In den guten alten Tagen als Computer noch kaum vorhanden und noch weniger leistungsfähig waren, entwickelte sich die deutsche Zinsberechnungsmethode. Die Hauptbesonderheit dieser Methode besteht darin, daß jeder Monat fiktiv 30 Tage hat. Egal, wie… mehr »

Die effektive jährliche Verzinsung
Sep 20th
Beliebt sind (oder besser gesagt, waren) diese Informationen bei Kreditangeboten aller Art. Einen monatlichen Zinssatz durch die Multiplikation * 12 in einen jährlichen umzurechnen, ist zur gleichen Zeit richtig und doch nicht. Auf diese Weise… mehr »

Speichern von Formeln in Spalten
Aug 17th
Wie könnte es aussehen, wenn man in einem so dynamischen Umfeld arbeitet, daß man selbst die mathematischen Berechnungsformeln nicht hart kodieren will... mehr »

Kleines Beispiel über COUNT()
Jul 5th
Unter den diversen Aggregatfunktionen des T-SQL Arsenals nimmt COUNT() einen einmaligen Platz ein, weil dies die einzige Funtion ist, die "NULL-aware" ist. Das heißt, je nach Verwendung werden NULL Marker berücksichtigt oder nicht. mehr »

Vorsicht bei der Verwendung von ISNUMERIC()
Jun 1st
Liest man sich die Onlinehilfe von SQL Server durch und gelangt an das Thema ISNUMERIC(), erhält man den Eindruck, daß dies eine einfache, schnelle und sichere Methode ist, um zu überprüfen, ob ein gegebener Ausdruck in einen von SQL Server… mehr »
