Einzelnen Beitrag anzeigen

jensw_2000
(Gast)

n/a Beiträge
 
#3

Re: SELECT in StoredProcedure gibt keine Datensätze zurück

  Alt 17. Jan 2006, 14:25
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 = 'TestTableAND 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
  Mit Zitat antworten Zitat