SQL Server 2000 및 Java에서 작업하고 있습니다.열이 계산 열인지 확인하는 방법
다른 것들 중에서도 테이블의 메타 데이터를 읽고, 다른 서버에서 메타 데이터를 다시 만들고 데이터를 전달하는 응용 프로그램을 만듭니다. 테이블의
하나는이 방법으로 만들어진 :
CREATE TABLE some_table (
Date datetime NOT NULL,
Code int NOT NULL,
SameCodeAgainWTF AS Code
)
을 어떻게가 "SameCodeAgainWTF"열이 그래서 데이터 중에에 값을 삽입하려고하지 않는 계산 열임을 감지 할 마이그레이션 단계?
이미 연결에서 DatabaseMetaData 개체가 있습니다. 하지만 그 정보를 제공하는 방법을 찾을 수 없었습니다.
...
DatabaseMetaData dbMetaData = connection.getMetaData();
...
미리 감사드립니다.
편집 1 :
나는 다른 쿼리를 실행하지 않고 해결책이 있는지 알고 싶습니다. DatabaseMetaData 또는 ResultSetMetaData에서 정보를 얻는 방법이있는 경우.
syscolumns를 쿼리 할 수 있지만 필자는이를 피하고 싶습니다. iscomputed
열을 포함
SELECT
sysobjects.name AS TableName,
syscolumns.name AS ColumnName
FROM syscolumns
INNER JOIN sysobjects
ON syscolumns.id = sysobjects.id
AND sysobjects.xtype = 'U' --User Tables
WHERE syscolumns.iscomputed = 1
From: Get List of Computed Columns in Database Table (SQL Server)
내가 그 해결책을 보았다 "iscomputed = 1 dbo.syscolumns SELECT * FROM"하지만, 또 다른 쿼리를 작성하지 않고 DatabaseMetaData의에서 또는 ResultSetMetaData에에서 정보를 얻을 수있는 방법이 있다면 내가 알고 싶어 그. – pablosaraiva
다른 답변이 게시되지 않았기 때문에 귀하를 유일한 방법으로 받아 들일 것입니다. 그러나, 내 프로그램에서, 나는 RecordSetMetaData에서 isReadOnly 메서드를 사용하여 끝났다. – pablosaraiva