Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Probleme mit Tabellenvariablen (https://www.delphipraxis.net/128124-probleme-mit-tabellenvariablen.html)

Jens Schumann 24. Jan 2009 16:29

Datenbank: MS SQL-Server Express • Version: 2005 • Zugriff über: ADO

Probleme mit Tabellenvariablen
 
Hallo,
ich habe Probleme mit einer Tabellenvariablen.
Was möchte ich:
In der Tabelle DM_DIMENSION stehen in der Spalte dm_TABLENAME Namen von Tabellen
in der Datenbank DIMLOAD. Die Anzahl der Tabellen ist variabel. Alle Tabellen
haben aber min. die Felder Membername und Alias. Jetzt möchte den Inhalt dieser
Felder aller Tabellen in die Tabellenvaribalen schreiben und ausgeben.
Leider erhalte ich folgende Fehlermeldung:
Meldung 137, Ebene 15, Status 2, Zeile 21
Die "@MemTable"-Skalarvariable muss deklariert werden.



SQL-Code:
USE [dimload]

SET NOCOUNT ON

DECLARE @SQL NVARCHAR(4000)
DECLARE @TABNAME NVARCHAR(255)
DECLARE @MemTable TABLE

  MEMBERNAME NVARCHAR(255),
  ALIAS NVARCHAR(255)
)

DECLARE c CURSOR LOCAL FOR SELECT dm_TABLENAME FROM dbo.DM_DIMENSION
OPEN c
FETCH NEXT FROM c INTO @TABNAME
WHILE @@Fetch_status = 0 
  BEGIN

  SET @SQL = 'INSERT INTO @Table SELECT membername as MEMBERNAME, alias_1 as ALIAS '+
            'FROM '+@TABNAME+' WHERE (alias_1<>''X'') and (sdata<>''SHAREDATA'')'
  EXEC sp_executesql @SQL,@MemTable /* hier möchte ich die Tabellenvariable als   
              Paramter für @Table übergeben */   

  FETCH NEXT FROM c INTO @TABNAME
  END
CLOSE c
DEALLOCATE c
SET NOCOUNT OFF

SELECT membername, count(alias) AS anzahl FROM @MemTable GROUP BY alias, membername

Jens Schumann 2. Feb 2009 07:37

Re: Probleme mit Tabellenvariablen
 
Hallo,
ich habe das Problem mit einer Tabelle in der tempdb gelöst.
Da mir die Lösung aber ganz und gar nicht gefällt, möchte ich die
Frage mal pushen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz