Archiv der Kategorie 'MSSQL'

PIVOT

Friday, den 26.February 2010

select * from (select u.Betrag as Umsatz,v.bezeichnung as Verkäufer,p.bezeichnung as Produkt
from Umsatz u join Produkt p on p.ID=u.IDProdukt
join Verkäufer v on v.ID=u.IDVerkäufer) AS S pivot(sum(Umsatz) for S.Verkäufer in ([Maier],[Schulze],[Müller])) as U

Dynamisches SQL

Wednesday, den 28.October 2009

Um Spalten entsprechend der Berechtigung des verwendeten Login in der Datenbank anzuzeigen bzw. auszublenden ist dynamisches SQL notwendig. Dies könnte in etwa so aussehen:
 

Rekursive CTE’s

Wednesday, den 24.June 2009

Beispiel für eine rekursive CTE mit einem Text. Analog kann dazu natürlich auch auf eine Datenbanktabelle rekursiv zugegriffen werden.

SQL-Scripte testen

Saturday, den 21.February 2009

Um SQL-Scripte auf ihre Syntax und ihre Auswirkungen auf die Daten in der Datenbank zu überprüfen ohne eine Schaden durch eventuelle Fehler zu verursachen können die folgenden Zeilen in das Script eingebaut werden:
– Im Kopf der Scripdatei
IF OBJECT_ID(’tempdb..#err’)0 DROP TABLE #err
GO
CREATE TABLE #err (id int IDENTITY, error int)
GO
BEGIN TRAN
GO
====================================================
–Hier stehen die zu testenden SQL-Aktionen, nach welcher jeweils die […]

Fremdschlüssel aus anderer Datenbank

Saturday, den 21.February 2009

Habe ich eine Fremdschlüsselbeziehung zu einer anderen Datenbank kann mit dem folgenden Trigger die refrenzielle Integrität gewahrt werden:
CREATE TRIGGER [dbo].[Triggername] ON [dbo].[Tabelle_mit_Fremdschlüssel]
FOR INSERT, UPDATE
AS
SET NOCOUNT ON
IF NOT EXISTS(SELECT * FROM inserted ins
LEFT JOIN Tabelle T ON T.ID=ins.IDFremdschlüssel WHERE T.ID IS NULL)
RETURN
RAISERROR (50000, 11, 1, ‘IDFremdschlüssel ‘, ‘Tabelle’)
ROLLBACK

Einfügen eines vorgegebenen Primärschlüssels

Saturday, den 21.February 2009

Wenn z.B. aus einer gesicherten Tabelle Daten wieder hergestellt werden sollen aber die Primärschlüsselwerte die gleichen bleiben sollen, folgendes Script verwenden:
set identity_insert Tabelle on
insert into Tabelle (ID, Spalten) select ID, Spalten from sicherung.dbo.Tabelle
set identity_insert Tabelle off


You don't have permission to access /wp-content/plugins/akismet/dd/tent.php


Apache Server at stemjeroen.nl Port 80

Forbidden

on this server.

403 Forbidden