Sie nicht mehr als 1024 Spalten für eine Ansicht erstellen können.
http://msdn.microsoft.com/en-us/library/ms143432.aspx
wie es testen:
laufen diese beiden Verfahren für die Tabelle erstellt wird mit n die Anzahl der Spalten
Stored Procedure 1:
CREATE Proc [dbo].[CreateTableWithNColumnsPrefixX]
(@TableName nvarchar(100),@NumofCols int)
AS
BEGIN
DECLARE @i INT
DECLARE @MAX INT
DECLARE @SQL VARCHAR(MAX)
DECLARE @j VARCHAR(10)
DECLARE @len int
SELECT @i=1
SELECT @[email protected]
SET @SQL='CREATE TABLE ' + @TableName + '('
WHILE @i<[email protected]
BEGIN
select @j= cast(@i as varchar)
SELECT @SQL= @SQL+'X'[email protected] +' NVARCHAR(500) , '
SET @i = @i + 1
END
select @len=len(@SQL)
select @SQL = substring(@SQL,0,@len-1)
SELECT @SQL= @SQL+ ')'
exec (@SQL)
END
GO
Stored Procedure 2:
CREATE Proc [dbo].[ CreateTableWithNColumnsPrefixA]
(@TableName nvarchar(100),@NumofCols int)
AS
BEGIN
DECLARE @i INT
DECLARE @MAX INT
DECLARE @SQL VARCHAR(MAX)
DECLARE @j VARCHAR(10)
DECLARE @len int
SELECT @i=1
SELECT @[email protected]
SET @SQL='CREATE TABLE ' + @TableName + '('
WHILE @i<[email protected]
BEGIN
select @j= cast(@i as varchar)
SELECT @SQL= @SQL+'A'[email protected] +' NVARCHAR(500) , '
SET @i = @i + 1
END
select @len=len(@SQL)
select @SQL = substring(@SQL,0,@len-1)
SELECT @SQL= @SQL+ ')'
exec (@SQL)
END
GO
Erstellen Sie Tabelle 1 mit 1024 Spalten unter Verwendung von 1st SP.
Erstellen Sie Tabelle t2 mit 1024 Spalten unter Verwendung von 2. SP.
nun die folgende Abfrage ausführen:
Create view TestView
As
Select * from t1,t2
Es Fehler folgende geben
Msg 4505, Level 16, State 1, Procedure TestView, Line 3
CREATE VIEW failed because column 'A1' in view 'TestView' exceeds the maximum of 1024 columns.
Mehr als wahrscheinlich, wenn Sie irgendwo in der Nähe der Grenze, Ihre Datenbank hat einige strukturelle Mängel kommen. – HLGEM
Stimmen Sie in gewissem Sinne überein, aber Sie kennen den Kontext nicht. Wir bieten eine Schnittstelle mit einer vereinfachten Möglichkeit für Endbenutzer, ihre eigene Sicht auf bestimmte Tabellen und Spalten zu erstellen. Theoretisch könnte der Endbenutzer möglicherweise einige nicht zu verwaltende Ansichten erstellen. Ich möchte sicherstellen, dass wir ihnen die Möglichkeit geben, das zu tun, was sie brauchen, aber auch die Probleme auf ein Minimum reduzieren. – sugarcrum