Re: Triggers und History
- From: "Günter Prossliner" <nospam@xxxxxxxx>
- Date: Fri, 17 Apr 2009 14:48:56 +0200
Hallo Albert,
noch was ist mir aufgefallen:
-- get primary key column name
select @pkCol = [name]
from syscolumns
where [id] in (
select [id]
from sysobjects
where [name] = @tbl
)
and colid in (
select SIK.colid
from sysindexkeys SIK
join sysobjects SO on SIK.[id] = SO.[id]
where SIK.indid = 1
and SO.[name] = @tbl
Der Index mit ID 1 ist NICHT ZWANGSLÄUFIG der Primary Key. Es ist der
Clustered Index.
So wirst Du bei dieser Tabelle:
CREATE TABLE Heap (
ID PRIMARY KEY NOT CLUSTERED,
F1 int
)
gar nichts zurückbekommen, und bei dieser Tabelle:
CREATE TABLE CIWithOtherPK (
ID PRIMARY KEY NOT CLUSTERED,
F1 int
)
CREATE INDEX CI ON CIWithOtherPK(F1)
ein falsches Feld (F1 anstelle von ID)
Primary Keys sind nämlich primär keine Indexes, sonderen Constraints (also
in sys.objects): SELECT * FROM sys.objects WHERE type='PK', wobei Du auf
"parent_object_id" joinen musst
GP
.
- Follow-Ups:
- Re: Triggers und History
- From: Albert Andersson
- Re: Triggers und History
- References:
- Triggers und History
- From: Albert Andersson
- Re: Triggers und History
- From: Albert Andersson
- Re: Triggers und History
- From: Günter Prossliner
- Re: Triggers und History
- From: Albert Andersson
- Re: Triggers und History
- From: Albert Andersson
- Re: Triggers und History
- From: Günter Prossliner
- Re: Triggers und History
- From: Albert Andersson
- Triggers und History
- Prev by Date: Re: Triggers und History
- Next by Date: Re: Triggers und History
- Previous by thread: Re: Triggers und History
- Next by thread: Re: Triggers und History
- Index(es):
Relevant Pages
|