2016-07-29 8 views
0

Ich erstellte die gespeicherte SQL Server-Prozedur, in der ich meine Tabelle mit Daten befülle. Der Tabellenname lautet Person.Erfolgreiche Einfügen in nicht vorhandene Tabelle

Durch Zufall habe ich Persons anstelle von Person in das Verfahren eingegeben. Die Ausführung war erfolgreich und ich konnte die eingefügten Daten aus der Tabelle Persons auswählen.

Die Frage ist also, erstellt SQL Server einige versteckte neue Tabelle im Hintergrund? Ich konnte keine neu erstellte Tabelle im Abschnitt SSMS-Tabellen finden.

+2

Bitte geben Sie Ihren Code ein – HoneyBadger

+0

Gibt es eine Ansicht namens 'Personen'? –

Antwort

1

Okey die Frage war falsch. Ich habe herausgefunden, dass die Personentabelle wirklich in meiner Datenbank existiert (ich habe keine Tabellen erstellt), also ein dummer Fehler von mir. Ich denke, dass diese Frage gelöscht werden kann.

+0

Oder Sie können Ihre Antwort abstimmen! Es ist in Ordnung, Ihr eigenes Problem zu lösen. Moral der Geschichte war in der Tat ja, die Proc erstellt einen Blick auf einen echten Tisch. BTW, sind sie aus dem gleichen Schema? Die explizite Angabe von Namensauflösungen ist eine weitere Möglichkeit, Probleme zu vermeiden. Prost –

0

Nein, tut es nicht. Bedenken Sie jedoch, dass bei Verwendung einer Art von ORM möglicherweise eine Tabelle erstellt wurde.

0

Es hängt davon ab, wie Sie Ihre gespeicherte Prozedur geschrieben haben. Mit der Syntax:

SELECT * INTO tblMisTyped VON TableA

SQL Server ist in der Tat eine temporäre Tabelle erstellen (mit Absicht), so dass Sie später in dem gleichen Prozeduraufruf SELECT * FROM tblMisTyped. Diese temporäre Tabelle wird jedoch gelöscht, nachdem die Prozedur ausgeführt wurde.

+0

Die Zieltabelle ist NICHT temporär, es sei denn, der Name beginnt mit einem # -Zeichen. Tabellen mit einem # -Zeichen sind für die Dauer der Verbindung immer temporär. Ich habe SELECT INTO verwendet, um permanente Tabellen viele Male zu erstellen. –

+0

Entschuldigung, Sie haben recht - ich bin es gewohnt, mit # vorzuarbeiten. Ich bin mir jedoch sicher, dass dies genau das ist, was das OP getan hat. Zumal er jetzt die Personentabelle "finden" kann –

Verwandte Themen