Die Ausführung deiner SP ist vermutlich immer beim CREATE TABLE abgebrochen, weil das Löschen der Tabelle so nicht funktioniert.
Hier der funktionierende Code.
Ich würde die SP aber an deiner Stelle noch auf temporäre Tabellen umstellen.
Zudem solltest du beim binm Feld "Name" wenn möglich den Typ VARCHAR anstatt NVARCHAR verwenden.
Mit
UniCode-Feldern klaust du dir unnötig Performance.
SQL-Code:
CREATE Procedure Test2
AS
BEGIN
SET NOCOUNT ON
-- Testtable löschen, falls vorhanden
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'TestTable' AND type = 'U')
BEGIN
DROP TABLE [TestTable]
END
-- Testtable neu erstellen
CREATE TABLE [TestTable]
([Nummer] INT NOT NULL ,
[Datum] DATETIME ,
[Name] NVARCHAR(20)
CONSTRAINT [PK_Nummer] PRIMARY KEY CLUSTERED ([Nummer])
)
-- Index auf Testtable erstellen
CREATE INDEX "IX_Name" ON [TestTable] ([Name])
-- Datensätze einfügen
insert into dbo.TestTable ("Nummer", "Datum", "Name") VALUES (60100, GetDate(), 'Hugo 1')
insert into dbo.TestTable ("Nummer", "Datum", "Name") VALUES (60101, GetDate(), 'Hugo 2')
SET NOCOUNT OFF
-- Datensätze ausgeben
select * from TestTable
END
Schöne Grüße,
Jens