드롭(존재하는 경우)과 드롭(존재하지 않는 경우)?
사이에 차이가 있는지 누가 말해줄 수 있습니까?
DROP IF EXISTS [TABLE_NAME]
DROP [TABLE_NAME]
제 MVC 웹 애플리케이션에서 JDBC 템플릿을 사용하고 있어서 문의드립니다.사용할 경우DROP [TABLE_NAME]
테이블이 존재한다는 오류가 발생했습니다.그리고 내가 사용한다면,DROP IF EXISTS [TABLE_NAME]
그것은 나쁜 SQL 문법을 말합니다.누가 도와줄 수 있나요?
표준 SQL 구문은
DROP TABLE table_name;
IF EXISTS
는 표준이 아닙니다. 다른 플랫폼에서 다른 구문으로 지원하거나 전혀 지원하지 않을 수 있습니다.포스트그레에서SQL, 구문은 다음과 같습니다.
DROP TABLE IF EXISTS table_name;
테이블이 없거나 다른 데이터베이스 개체가 테이블에 종속된 경우 첫 번째 테이블에서 오류가 발생합니다.대부분의 경우 다른 데이터베이스 개체는 외부 키 참조가 될 수 있지만, 다른 개체도 있을 수 있습니다(예: 보기).두 번째 테이블은 테이블이 없는 경우 오류를 발생시키지 않지만 다른 데이터베이스 개체가 테이블에 종속된 경우 오류를 발생시킵니다.
테이블과 테이블에 종속된 다른 모든 개체를 삭제하려면 다음 중 하나를 사용합니다.
DROP TABLE table_name CASCADE;
DROP TABLE IF EXISTS table_name CASCADE;
CASCADE는 주의 깊게 사용하십시오.
그것은 직접적으로 요청되는 것이 아닙니다.하지만 드롭 테이블을 제대로 하는 방법을 찾다가 다른 많은 사람들도 그렇게 생각하는 것처럼 이 문제에 걸려 넘어졌습니다.
SQL Server 2016+에서 사용할 수 있습니다.
DROP TABLE IF EXISTS dbo.Table
SQL Server < 2016의 경우 영구 테이블에 대해 수행하는 작업은 다음과 같습니다.
IF OBJECT_ID('dbo.Table', 'U') IS NOT NULL
DROP TABLE dbo.Table;
아니면 임시 테이블의 경우에는
IF OBJECT_ID('tempdb.dbo.#T', 'U') IS NOT NULL
DROP TABLE #T;
당신은 그것을 잊었습니다.table
사용자 구문:
drop table [table_name]
테이블을 떨어뜨리는 것.
사용.
drop table if exists [table_name]
테이블을 삭제하기 전에 테이블이 있는지 확인합니다.
존재하는 경우 삭제됩니다.
그렇지 않으면 오류가 발생하지 않고 조치가 취해지지 않습니다.
해당 이름을 가진 테이블이 존재하지 않는 경우DROP
다음 시간 동안 오류가 발생하여 실패합니다.DROP IF EXISTS
그냥 아무것도 하지 않습니다.
이것은 스크립트를 사용하여 데이터베이스를 작성/수정하는 경우 유용합니다. 이렇게 하면 이전 버전의 테이블이 수동으로 삭제되지 않아도 됩니다.당신은 그냥 해요.DROP IF EXISTS
잊어버려요.
물론 현재 사용 중인 DB 엔진이 이 옵션을 지원하지 않을 수도 있습니다. 사용자가 제공하는 정보로는 오류에 대해 자세히 설명하기가 어렵습니다.
DROP TABLE IF EXISTS [table_name]
먼저 테이블이 존재하는지 확인하고, 존재하면 테이블을 삭제합니다.
DROP TABLE [table_name]
확인하지 않고 삭제하므로 존재하지 않으면 오류와 함께 종료됩니다.
언급URL : https://stackoverflow.com/questions/9565818/drop-if-exists-vs-drop
'programing' 카테고리의 다른 글
UIScrollView 페이지 변경 검색 중 (0) | 2023.08.09 |
---|---|
빠른 분할 테스트(2,3,4,5,...,16)? (0) | 2023.08.09 |
Excel Q - 2차원 배열이 있는 SUMIFS (0) | 2023.08.09 |
JavaScript 또는 jQuery에서 값이 숫자인지 확인합니다. (0) | 2023.08.09 |
springdoc-openapi-webflux-ui를 사용하여 앱 API 문서를 표시하는 방법은 무엇입니까? (0) | 2023.07.20 |