Schlagworte: 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. Da denkt man lange Zeit, dass SQL Server im Bezug auf die Auswertung von CASE Ausdrücken dem SQL Standard folgt und den result_expression-Ausdruck zu… mehr »
SELECT COUNT(*) vs. SELECT COUNT(1)
Jan 25th
Immer wieder kann man die Datenbank Communitites die Behauptung lesen, dass ein SELECT (1) schneller sein soll als ein SELECT COUNT(*). ...und immer wieder muss man dem entgegenhalten, dass dies - zumindest für SQL Server - nicht stimmt. Ich kenne mic… 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. Trigger sind eine spezielle Art von Stored Procedures. Sie arbeiten Set-orientiert; also nicht wie Cursor… 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. Mit SQL Server 2005 wurde… 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:
CREATE TABLE dbo.Foobar (
col1 int DEFAULT(0),
col2 char(2)
);
Hierbei muss man die DEFAULT… 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 LEN(RTRIM(@i)) ) x; 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. Beispiel:CREATE TABLE #Table1(tid INT, c1 CHAR)CREATE TABLE #Table2(tid INT, c2 CHAR)INSERT INTO #Table1SELEC… mehr »
