전체 데이터베이스의 삽입에 NULL 값이있는 열을 찾는 방법은 무엇입니까?SQL 2000 데이터베이스의 모든 Nullable 열 찾기
4
A
답변
8
스키마와 데이터베이스의 구조에 대한 모든 메타 데이터 정보를 원하시면,이 참고 표준보기를 검색, 나는 손 SQL이 없지만 쿼리는 일반적으로이
SELECT * FROM information_schema.columns WHERE is_nullable = 'YES'
같은 것을 간다; 다른 많은 사람들이 있습니다 (information_schema.tables, information_schema.constraints 등)
0
기본 테이블 (보기가 아님)의 열만보고 싶은 사용자는 INFORMATION_SCHEMA.TABLES
과 결합해야합니다. 나는 또한 시스템 테이블 sysdiagrams
을 제외하고 싶다. 당신이 스키마 또는 테이블 카탈로그에서 중복 된 테이블 이름이있는 경우 여기에 대한 답변과 같이
쿼리
SELECT
c.TABLE_NAME,
COLUMN_NAME,
DATA_TYPE
FROM
INFORMATION_SCHEMA.COLUMNS AS c
JOIN INFORMATION_SCHEMA.TABLES AS t ON t.TABLE_NAME = c.TABLE_NAME
WHERE
is_nullable = 'YES' AND
TABLE_TYPE = 'BASE TABLE' AND
c.TABLE_NAME != 'sysdiagrams'
ORDER BY
c.TABLE_NAME,
COLUMN_NAME
것은, 당신은 조인뿐만 아니라에서 해당 필드를 포함한다 :
Differentiating tables and views in INFORMATION_SCHEMA.COLUMNS.
데이터베이스가 대소 문자를 구분하도록 설정되어있는 경우 문제가 발생하지 않도록하려면 아마도 is_nullable = '예'(대문자) 여야합니다. –
첫 번째 것이 올바른 것입니다. – Juanma
감사 ... 방금 편집했습니다. –