현재 버전

database oracle mssql sql

SQL SERVER 에 BEGIN TRAN 에 END 구문 같은 건 아예 없나요?


안녕하세요.


저는 원래 Oracle 을 공부하고 입사했는데, 현재 Oracle 외에도 SQL SERVER(MSSql)을 사용하는 프로젝트가 있습니다.


PL/SQL 문법에서, Oracle 의 경우에는


DECLARE (선언부)

BEGIN (실행부)

END

/

;


이런 식으로 실행부 종료 구문이 END 로 명시가 되어야 합니다만,


SQL SERVER 에는 BEGIN TRAN 으로 시작해서, END 구문이 따로 없더군요.

(https://docs.microsoft.com/ko-kr/sql/t-sql/language-elements/begin-transaction-transact-sql?view=sql-server-ver15)

이렇게 해도 돌아간다는 걸 알고, 실제 확인도 했습니다만, 이상하게 영 찜찜한 기분을 지울 수 없습니다.

심지어 BEGIN TRAN 아래에 돌아가는 SQL 문이 여러 개라서 더욱 제대로 클로징이 된건지 애매한 기분이 남아 있습니다.


SQL SERVER 에 END 구문 비스무리한 건 전혀 없는 건가요?


SQL SERVER 문서를 뒤져봐도 딱히 안 보이고,

시험삼아 실제 END 구문을 써봤는데 그런 거 없다고 에러를 뱉더군요.


COMMIT 구문이 있는 건 아는데, Mybatis 에서 명시를 안해도 commit 되더라구요...

GO 나 COMMIT 을 END 구문처럼 쓰기엔 의미도 쓰임새도 다르고...


또 혹시 저같은 기분을 느끼는 분이 계시는지 모르겠네요.


수정 이력

2021-09-17 13:57:00 에 아래 내용에서 변경 됨 #3

안녕하세요.


저는 원래 Oracle 을 공부하고 입사했는데, 현재 Oracle 외에도 SQL SERVER(MSSql)을 사용하는 프로젝트가 있습니다.


PL/SQL 문법에서, Oracle 의 경우에는


DECLARE (선언부)

BEGIN (실행부)

END

/

;


이런 식으로 실행부 종료 구문이 END 로 명시가 되어있습니다만,


SQL SERVER 에는 BEGIN TRAN 으로 시작해서, END 구문이 따로 없더군요.

(https://docs.microsoft.com/ko-kr/sql/t-sql/language-elements/begin-transaction-transact-sql?view=sql-server-ver15)

이렇게 해도 돌아간다는 걸 알고, 실제 확인도 했습니다만, 이상하게 영 찜찜한 기분을 지울 수 없습니다.

심지어 BEGIN TRAN 아래에 돌아가는 SQL 문이 여러 개라서 더욱 제대로 클로징이 된건지 애매한 기분이 남아 있습니다.


SQL SERVER 에 END 구문 비스무리한 건 전혀 없는 건가요?


SQL SERVER 문서를 뒤져봐도 딱히 안 보이고,

시험삼아 실제 END 구문을 써봤는데 그런 거 없다고 에러를 뱉더군요.


COMMIT 구문이 있는 건 아는데, Mybatis 에서 명시를 안해도 commit 되더라구요...

GO 나 COMMIT 을 END 구문처럼 쓰기엔 의미도 쓰임새도 다르고...


또 혹시 저같은 기분을 느끼는 분이 계시는지 모르겠네요.

2021-09-17 13:56:10 에 아래 내용에서 변경 됨 #2

안녕하세요.


저는 원래 Oracle 을 공부하고 입사했는데, 현재 Oracle 외에도 SQL SERVER(MSSql)을 사용하는 프로젝트가 있습니다.


PL/SQL 문법에서, Oracle 의 경우에는


DECLARE (선언부)

BEGIN (실행부)

END

/

;


이런 식으로 실행부 종료 구문이 END 로 명시가 되어있습니다만,


SQL SERVER 에는 BEGIN TRAN 으로 시작해서, END 구문이 따로 없더군요.

이렇게 해도 돌아간다는 걸 알고, 실제 확인도 했습니다만, 이상하게 영 찜찜한 기분을 지울 수 없습니다.

심지어 BEGIN TRAN 아래에 돌아가는 SQL 문이 여러 개라서 더욱 제대로 클로징이 된건지 애매한 기분이 남아 있습니다.


SQL SERVER 에 END 구문 비스무리한 건 전혀 없는 건가요?


SQL SERVER 문서를 뒤져봐도 딱히 안 보이고,

시험삼아 실제 END 구문을 써봤는데 그런 거 없다고 에러를 뱉더군요.


COMMIT 구문이 있는 건 아는데, Mybatis 에서 명시를 안해도 commit 되더라구요...

GO 나 COMMIT 을 END 구문처럼 쓰기엔 의미도 쓰임새도 다르고...


또 혹시 저같은 기분을 느끼는 분이 계시는지 모르겠네요.

2021-09-17 13:37:01 에 아래 내용에서 변경 됨 #1

안녕하세요.


저는 원래 Oracle 을 공부하고 입사했는데, 현재 Oracle 외에도 SQL SERVER(MSSql)을 사용하는 프로젝트가 있습니다.


PL/SQL 문법에서, Oracle 의 경우에는


DECLARE (선언부)

BEGIN (실행부)

END

/

;


이런 식으로 실행부 종료 구문이 END 로 명시가 되어있습니다만,


SQL SERVER 에는 BEGIN TRAN 으로 시작해서, END 구문이 따로 없더군요.

이렇게 해도 돌아간다는 걸 알고, 실제 확인도 했습니다만, 이상하게 영 찜찜한 기분을 지울 수 없습니다.

심지어 BEGIN TRAN 아래에 돌아가는 SQL 문이 여러 개라서 더욱 제대로 클로징이 된건지 애매한 기분이 남아 있습니다.


SQL SERVER 에 END 구문 비스무리한 건 전혀 없는 건가요?


SQL SERVER 문서를 뒤져봐도 딱히 안 보이고,

시험삼아 실제 END 구문을 써봤는데 그런 거 없다고 에러를 뱉더군요.


COMMIT 구문이 있는 건 아는데, Mybatis 에서 명시를 안해도 commit 되더라구요...


또 혹시 저같은 기분을 느끼는 분이 계시는지 모르겠네요.