BEISPIEL
BEISPIEL
HINWEIS
Das Ergebnis einer Stored Procedure speichern
Dass eine Stored Procedure ein Recordset zurückgeben kann, dürfte Ihnen nach der Lektüre des bisherigen
Kapitels bekannt sein. Was aber, wenn Sie die Daten gar nicht zum Client senden möchten, sondern gleich
auf dem Server, d.h. in einer Tabelle, sichern wollen?
Die Antwort findet sich in der INSERT INTO-Anweisung.
Die Stored Procedure
CREATE PROCEDURE Test @Nachname VARCHAR(50)
As
SELECT * FROM Mitarbeiter WHERE nachname LIKE @nachname
return
Der entsprechende Aufruf zum Sichern der Daten:
INSERT INTO SaveTable EXEC test 'Müller'
Nach dem Löschen IDENTITY auf 0 setzen
Löschen Sie alle Datensätze einer Tabelle (z.B. DELETE FROM Mitarbeiter) und fügen Sie einen neuen
Datensatz ein, wird ein Identity-Feld statt mit Null mit dem nächstfolgenden Wert gefüllt.
Abhilfe schafft die Funktion DBCC CHECKIDENT, mit der Sie den Zählerwert wieder zurücksetzen kön-
nen.
Zurücksetzen des Zählerwertes
DBCC CHECKIDENT (Mitarbeiter, RESEED, 0)
Sind in der Tabelle keine Fremdschlüssel enthalten, können Sie auch die Anweisung TRUNCATE TABLE nutzen.
Beachten Sie jedoch, dass TRUNCATE TABLE keine Trigger aktiviert.
Datenbankstruktur kopieren
Ein häufiges Problem: Sie haben auf Ihrem PC eine SQL Server-Datenbank entwickelt und getestet und
möchten nun diese Datenbank bzw. deren Struktur beim Kunden installieren.
Auf die Idee, die Struktur mit Hilfe des SQL Server Management Studios beim Kunden zu erstellen, werden
Sie hoffentlich nicht kommen. Doch das Management Studio ist dafür schon das richtige Tool.
679
Tipps & Tricks
BEISPIEL
Kapitel 10: SQL Server
Abbildung 10.50 Erzeugen eines SQL-Skripts mit dem SQL Server Management Studio
Wählen Sie Ihre Datenbank im Baum aus und klicken Sie mit der rechten Maustaste darauf. Über den
Menüpunkt Tasks/Generate Scripts erreichen Sie einen Assistenten, der Ihnen alle wesentlichen Schritte
beim Erzeugen eines SQL-Skripts erleichtert. Dieses Skript ist eine normale Textdatei, die auf dem Zielrech-
ner mit dem Query Analyzer wieder eingespielt werden kann.
Auszug aus einem SQL-Skript
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'Gewinnus')
CREATE USER [Gewinnus] FOR LOGIN [Gewinnus] WITH DEFAULT_SCHEMA=[dbo]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[personal]') AND type in
(N'U'))
BEGIN
CREATE TABLE [dbo].[personal](
[Name] [nvarchar](30) NULL,
[Vorname] [nvarchar](20) NULL,
[Geboren] [datetime] NULL,
[Gehalt] [money] NULL,
[Bemerkung] [ntext] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END ...
680

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.