SQL 조회를 사용하여 테이블 존재 여부 확인
여러분, 아래 이외에 다른 테이블이 존재하는지 확인할 수 있는 방법이 있습니까?
select count(*) from <table> where rownum =1select * from user_table where table_name=<table>
oracle sql을 사용하여 테이블이 존재하는지 확인하는 가장 좋은 방법을 알려주세요.
답변 감사합니다. 제 요구 사항은 현재 월 01/12/2010의 첫 번째 날짜부터 데이터베이스에 surresh_20101201 형식의 테이블 이름이 있는지 확인하는 것입니다. 그렇지 않으면 surresh_20101202 테이블을 확인하고 surresh_20101231까지 확인해야 합니다. 오라클 SQL 쿼리에서 수행할 수 있습니까?
이 작업을 수행할 수 있습니다(오라클의 경우 mssql에는 약간 다릅니다).
select count(*)
from all_objects
where object_type in ('TABLE','VIEW')
and object_name = 'your_table_name';
대부분의 SQL 서버에는 테이블의 존재 여부를 쿼리할 수 있는 시스템 도메인이 있습니다.하지만 구현에 매우 구체적입니다.예를 들어 MySql의 최신 버전에서는 다음과 같습니다.
SELECT table_name FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'db_name'
AND table_name LIKE 'whatever'
서버의 시스템 카탈로그에 문의해야 합니다.SQL Server의 경우 다음과 같은 데이터베이스를 의미하는지는 확실하지 않습니다.
select * from sys.tables where name='your-table-name-'
Oracle SQL Developer에서 사용된 기능:
SELECT COUNT(*) FROM DUAL WHERE EXISTS (
SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'TABLE' AND OWNER = 'myschema' AND OBJECT_NAME = 'your_table_name')
그러면 다음 중 하나가 반환됩니다.0또는1테이블이 존재하는지 여부ALL_OBJECTS기록.
아래 쿼리는 Oracle에 트리거하여 DB에 테이블이 있는지 확인할 수 있습니다.
SELECT count(*) count FROM dba_tables where table_name = 'TABLE_NAME'
테이블 'TABLE_NAME'이(가) 데이터베이스에 있는 경우 위 쿼리에서 카운트 1을 반환합니다.
스키마를 보면 이벤트가 sys.objects를 사용하고 동시에 유형을 확인할 수 있습니다.
비슷한 것
언급URL : https://stackoverflow.com/questions/4385346/using-sql-query-to-determine-if-a-table-exists
'programing' 카테고리의 다른 글
| JdbcTemplate "queryForObject" 및 "query"는 봄에 더 이상 사용되지 않습니다.무엇으로 대체해야 합니까? (0) | 2023.07.06 |
|---|---|
| SQL Server 2008 특수 스키마에서 모든 테이블 삭제 (0) | 2023.07.06 |
| CS0433 "A.dll과 B.dll 모두에 유형 'X'가 이미 존재합니다"라는 오류는 어디에서 발생합니까? (0) | 2023.07.01 |
| Imports/Depends 사용 시기에 대한 더 나은 설명 (0) | 2023.07.01 |
| AngularFireModule 및 AngularFireDatabaseModule을 @angular/fire에서 찾을 수 없음 (0) | 2023.07.01 |