4 Stimmen

Warum blockiert die Erstellung einer Tabelle mit einer Fremdschlüssel-Beschränkung in einer Transaktion den Zugriff auf die referenzierte Tabelle in einer anderen?

In einer Transaktion erstelle ich eine Tabelle, die auf eine andere Tabelle verweist. In einer zweiten Transaktion führe ich eine SELECT-Abfrage für die referenzierte Tabelle aus, die jedoch von der ersten Transaktion blockiert wird. Woran liegt das?

Transaktion A:

BEGIN TRAN
CREATE TABLE Child (id int NOT NULL,
                    parentId int NOT NULL REFERENCES Parent (id));

Transaktion B:

BEGIN TRAN
SELECT * FROM Parent; -- This query is blocked

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X