Spaltenname oder Anzahl der gelieferten Werte stimmt nicht mit der Tabellendefinition überein

In SQL Server versuche ich, Werte aus einer Tabelle in eine andere einzufügen, indem ich die folgende Abfrage verwende:

delete from tblTable1

insert into tblTable1 select * from tblTable1_Link

Ich erhalte die folgende Fehlermeldung:

Spaltenname oder Anzahl der übergebenen Werte stimmt nicht mit der Tabellendefinition überein.

Ich bin sicher, dass beide Tabellen dieselbe Struktur, dieselben Spaltennamen und dieselben Datentypen haben.

Bitte helfen Sie mir!

Lösung

Sie haben nicht dieselbe Struktur... Ich kann garantieren, dass sie unterschiedlich sind

Ich weiß, dass Sie es bereits erstellt haben... Es gibt bereits ein Objekt namens 'tbltable1' in der Datenbank

Was Sie vielleicht wollen, ist dies (was auch Ihr anderes Problem behebt):

Drop table tblTable1

select * into tblTable1 from tblTable1_Link
Kommentare (0)

für Einfügungen ist es immer besser, die Spaltennamen anzugeben, siehe die folgenden

DECLARE @Table TABLE(
        Val1 VARCHAR(MAX)
)

INSERT INTO @Table SELECT '1'

funktioniert einwandfrei, die Änderung der Tabellendefinition in verursacht den Fehler

DECLARE @Table TABLE(
        Val1 VARCHAR(MAX),
        Val2 VARCHAR(MAX)
)

INSERT INTO @Table SELECT '1'

Msg 213, Ebene 16, Zustand 1, Zeile 6

Insert Error: Spaltenname oder Anzahl der gelieferten Werte stimmt nicht mit der Tabelle Definition.

Aber die Änderung der oben genannten zu

DECLARE @Table TABLE(
        Val1 VARCHAR(MAX),
        Val2 VARCHAR(MAX)
)

INSERT INTO @Table (Val1)  SELECT '1'

funktioniert. Sie müssen die angegebenen Spalten genauer angeben

Geben Sie die Strukturen an, und wir können uns das ansehen

Kommentare (0)

das Spaltenpräfix stimmt nicht mit einem in der Abfrage verwendeten Tabellen- oder Aliasnamen überein.

Ich habe auch an der Lösung dieses Fehlers gearbeitet

Jetzt habe ich herausgefunden, warum der Fehler auftritt, ich muss nur kleine Änderungen in der Abfrage vornehmen.

http://sqlerrormessages.blogspot.com/2009/08/sql-server-error-messages-msg-107.html

Kommentare (0)