0
我試圖識別ASE中組成密鑰的列。Sybase ASE識別多個表的密鑰列
Sybase擁有此處列出的解決方案:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.help.ase.15.5/title.htm
下面我有一個稍微修改後的版本,但它僅適用(就像Sybase的解決方案)如果我查找了一個表,但我想用'在'關鍵字中查找所有表格。
我可以得到一些幫助,至於爲什麼下面的解決方案不起作用?它僅生成't5'表的列的列表。
declare @keycnt integer
declare @objname varchar(256)
select @keycnt = keycnt, @objname = sysobjects.name from sysindexes, sysobjects
where
--sysobjects.id = object_id("t5")
--sysobjects.id = object_id("t4")
sysobjects.id in (object_id("t5"), object_id("t4"))
and sysobjects.id = sysindexes.id
and indid = 1
while @keycnt > 0
begin
select index_col(@objname, 1, @keycnt)
select @keycnt = @keycnt - 1
end
這是我使用的測試表:
CREATE TABLE t4(
[value] [varchar] (500) not NULL ,
CONSTRAINT pk_g4 PRIMARY KEY CLUSTERED (
[value]
)
)
CREATE TABLE t5(
[myvalue] [varchar] (500) not NULL ,
CONSTRAINT pk_g4 PRIMARY KEY CLUSTERED (
[myvalue]
)
)