T-SQL - Techniken und Neuerungen Jörg Neumann RESCO GmbH Hamburg.

Slides:



Advertisements
Ähnliche Präsentationen
ASP.NET Tips & Tricks Uwe Baumann
Advertisements

SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Design- und Entwicklungswerkzeuge
SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Web Matrix Project Kurzüberblick Dirk Primbs Technologieberater Developer Platform Strategy Group Microsoft Deutschland GmbH.
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Datenbank-Zugriffsschnittstellen am Beispiel von Oracle und PL/SQL.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Übung Datenbanksysteme SQL-Anfragen (2)
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
Einführung MySQL mit PHP
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Aufbau einer Verbindung zur Datenbank import java.net.URL; import java.sql.*; class JDBCExample.
Wizards & Builders GmbH Die Benutzeroberfläche Interaktives Arbeiten mit den Werkzeugen/Assistenten von Microsoft Visual FoxPro.
Arbeiten mit SQL in Visual FoxPro 9.0
Visual FoxPro 8.0 NameTitelUnternehmen. Agenda Jahre Visual FoxPro 10 Jahre Visual FoxPro Der Weg zu VFP 8.0 Der Weg zu VFP 8.0 Ziele von und Überblick.
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Arbeiten mit SQL in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow SQL.
Agenda 09: :00 Überblick über Microsoft Visual Studio 2005 Tools for the Microsoft Office System 09: :00 Überblick über Microsoft Visual Studio.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
Presenter: Daniel Walzenbach Technologieberater
MSDN Webcast: VB. NET für Einsteiger und Umsteiger Einführung in VB
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 7 Strukturierte Ausnahmebehandlung (Level 100) Presenter: Daniel Walzenbach Technologieberater.
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Presenter: Daniel Walzenbach Technologieberater
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 9 Zeichenketten, Delegates und Events (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Datenbanken Mehr als Tabellen.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
Datenbanken Mehr als Tabellen. Datenbank Abfragen mit SQL: Eine Tabelle filtern Tabellen realer Datenbanken können sehr viele Informationen speichern:
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Best Practices in der Datenbank-programmierung
SQL Server 2005 CLR-Integration
Brand my SharePoint Grafische Gestaltung von SharePoint-Webseiten
Tools und Verfahren Steffen Krause Technologieberater Microsoft Deutschland GmbH
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 6 Folie 2 WCF Data Services (1) s.a.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 2 ASP.NET Zustandsverwaltung
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ASP.NET Seitenübergänge
SQL Überblick Abfragen aus einer Tabelle
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 SQL (Teil 5)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
SharePoint FIS HandsOn – out of the Box.
Datenbanksysteme für hörer anderer Fachrichtungen
Office Business Anwendungen mit SharePoint 2010 Fabian Moritz SharePoint MVP.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
SQL Server 2005 TechTalk September 2005
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Aggregatsfunktion mit Group by und having SQL = Structured Query Language.
MTS Microsoft Transaction Server Martin Basziszta
Eine persönliche Fallstudie …
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
Vorlesung #5 SQL (Teil 2).
Sprachneuerungen des .NET Frameworks 3.5
10 Sichten (Views) Ziele Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern.
7.-8. März 2013, Rosenheim Brand my SharePoint grafische Gestaltung von SharePoint 2013-Webseiten Fabian Moritz | MVP SharePoint Server.
ArcView als SDE - Client SDE Client inklusive! ArcViewGIS: ArcView GIS: Michael Jacobi ESRI GmbH ESRI EUROPEAN USER CONFERENCE.
Christian Binder Senior Platform Strategy Manager Microsoft Deutschland GmbH.
1 Konica Minolta IT Solutions Prinzip Partnerschaft MANAGED MONITORING ÜBERWACHJUNG DER SERVERINFRASTRUKTUR UND ANWENDUNGEN DIREKT AUS DER CLOUD.
Exotisches SQL Author: Sven Weller.
Artiso solutions GmbH | Oberer Wiesenweg 25 | Blaustein | Advanced UI-Testing für WPF.
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
Abfragesprache SQL in ORACLE
SOFTWARE- UND WEB-LÖSUNGEN
 Präsentation transkript:

T-SQL - Techniken und Neuerungen Jörg Neumann RESCO GmbH Hamburg

Jörg Neumann IT-Consultant bei der RESCO GmbH in Hamburg. Hält Schulungen und Coachings zum SQL Server 2005 Schreibt für verschiedene Fachzeitschriften Schreibt an einem Buch über den SQL Server 2005 Hält Vorträge auf Entwicklerkonferenzen Schwerpunkte: SQL Server Smart Clients Visual Studio Extensibility Links zu weiterführenden Artikeln und Büchern finden Sie am Ende der Slides. Kontakt:

Agenda Kreuztabellen Abfrage von hierarchischen Daten Fehlerbehandlung

Agenda Kreuztabellen Abfrage von hierarchischen Daten Fehlerbehandlung

Beispiel Name1234 Buchanan, Steven23431,908462, , ,45 Callahan, Laura52356, , , ,37 Davolio, Nancy60476, , , ,70 Dodsworth, Anne35498, , , ,95 Umsatzliste aller Mitarbeiter pro Quartal NameAmountQuarter Buchanan, Steven23431,901 Buchanan, Steven8462,402 Buchanan, Steven15365,003 Buchanan, Steven28308,454 Callahan, Laura52356,051 Callahan, Laura25487,812...

Lösungswege UNION Temporäre Tabellen User Defined Functions PIVOT-Klausel (SQL2005)

Demo Kreuztabellen

PIVOT / UNPIVOT PIVOT PIVOT transformiert ein flaches Resultset in eine Kreuztabelle UNPIVOT UNPIVOT transformiert eine Kreuztabelle in ein flaches Resultset ANSI SQL-99-Standard

PIVOT Beispiel Umsatzliste aller Mitarbeiter pro Quartal Query Subquery PIVOT Block SELECTEmployee, [1], [2], [3], [4] FROM (SELECT Employee, Amount, Quarter FROM Orders ) AS Orders PIVOT (SUM (Amount) FOR Quarter IN ([1], [2], [3], [4]) ) AS PV ORDER BY Employee

Agenda Kreuztabellen Abfrage von hierarchischen Daten Fehlerbehandlung

Beispiel Eine Abteilung inkl. aller Unterabteilungen des Unternehmens ermitteln VorstandProduktionEinkaufVerkaufVerkauf InlandVerkauf AuslandFinanzenControllingFinanzbuchhaltungLonhbuchhaltung DepartmentParentDepartment Vorstandnull ProduktionVorstand EinkaufVorstand VerkaufVorstand Verkauf InnlandVerkauf Verkauf AuslandVerkauf FinanzenVorstand ControllingFinanzen FinanzbuchhaltungControlling LohnbuchhaltungControlling

Lösungswege Cursor Schleife Common Table Expressions (SQL2005)

Demo Hierarchische Daten

Common Table Expressions CTE Eine CTE definiert ein Abfrage, die innerhalb eines Statements wieder verwendet werden kann Vergleichbar mit einer View auf Statement-Ebene ANSI SQL-92-Standard Nützlich beim Umgang mit hierarchischen Daten Als Ersatz für Redundante Unterabfragen Views, die nur von einem Statement verwendet werden Rekursive Prozeduraufrufe Cursor-Läufe Optimierter Ausführungsplan

WITH WITH CTE(Department, ParentDepartment) AS ( SELECTDepartment, ParentDepartment FROMDepartments WHEREParentDepartment = 'Finzanzen' UNION ALL SELECTDepartments.Department, Departments.ParentDepartment FROMDepartments INNER JOIN CTE ON Departments.ParentDepartment = CTE.Department ) SELECT Department FROM CTE Query Rekursion Anchor CTE Beispiel Zugriff

Weitere Optionen Es können auch mehrere CTEs in einem WITH-Block definiert werden Die maximale Rekursionsstufe ist einstellbar Erzeugt Fehler beim Überschreiten WITH DepartmentsCTE(Department, ParentDepartment) AS ( … ) SELECT Department FROM DepartmentsCTE OPTION(MAXRECURSION 2) WITH DepartmentsCTE(Department, ParentDepartment) AS(SELECT …), Employees(ID, Name) AS(SELECT …)

Agenda Kreuztabellen Abfrage von hierarchischen DatenFehlerbehandlung

Fehlerbehandlung Exception-basierte Fehlerbehandlung Try/Catch (kein Finally) Kann geschachtelt werden Vorteil: muss nicht nach jedem Statement abgefragt werden Syntax: BEGIN TRY { sql_statement | statement_block } END TRY BEGIN CATCH { sql_statement | statement_block } END CATCH

TRY/CATCH Setzt die laufende Transaktion in einen uncommited-Status Nur Lesezugriffe oder Rollback möglich Auslösen eines Fehlers mit RAISERROR Einschränkungen: Es werden nur Fehler mit Schweregrad (Severity) verarbeitet Connection-Abbruch oder KILL wird nicht berücksichtigt Prozedur- oder Funktionsaufrufe werden nicht unterbrochen

Fehler verarbeiten Informationen ermitteln: ERROR_NUMBER() ERROR_SEVERITY() ERROR_STATE() ERROR_PROCEDURE() ERROR_LINE() ERROR_MESSAGE() Fehlerinformationen vor Rollback ermitteln Informationen nach Rollback speichern

Demo Fehlerbehandlung

Fragen?

Ressourcen Bücher A First Look at SQL Server 2005 for Developers Bob Beauchemin u.a., Addison-Wesley, ISBN: Artikel SQL Server 2005 Transact-SQL Enhancements us/dnsql90/html/sql_05TSQLEnhance.asp Links SQL Server 2005 Developer Center T-SQL Enhancements Virtual Lab

Resco GmbH Millerntorplatz 1 D Hamburg Germany vielen Dank für Ihre Aufmerksamkeit gesucht IT-Berater (m/w) mit Schwerpunkt Microsoft.NET, SQL Server, Sharepoint, BizTalk Server Standorte: Hamburg, Frankfurt, Düsseldorf