0
ASEでキーを構成する列を識別しようとしています。Sybase ASEは複数のテーブルのキーの列を識別します
Sybaseはここに記載されている解決策があります。http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.help.ase.15.5/title.htm
を私は、単一のテーブル用に見ればしかし、それは唯一(ただSybaseのソリューションとして)働く、下記少し変更したバージョンを持っていますが、私は 'を使用したいですin 'キーワードを使用して、すべてのテーブルをワンショットで検索します。
私は以下の解決策が機能しない理由についていくつかの助けを得ることができますか? '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]
)
)