Microsoft가 자체 SQL 확장을 Transact SQL (T-SQL)로 구현 한 이유는 무엇입니까? 일반적인 SQL보다 장점은 무엇입니까?Microsoft에서 왜 자체 SQL 확장 (T-SQL)을 만들었습니까?
답변
누구나 SQL을 확장합니다.
SQL은 절차 적이 아니며 선언적입니다. 원하는 것을 설명하고, 색인이나 해시 등을 사용하여 검색하는 방법을 알아냅니다.
하지만 때로는 충분하지 않습니다. T-SQL은 쿼리 내에서 절차 코드를 실행하는 구문을 제공합니다. 이를 통해 구조 변수 (begin-end, if-then-else), 반복 및 로컬 변수, 임시 테이블 및 기타 소스간에 값을 이동할 수 있습니다.
Transact-SQL (T-SQL)은 Microsoft와 Sybase의 SQL에 대한 독점적 인 확장 프로그램입니다. Microsoft 구현은 Microsoft SQL Server 제품에 포함되어 있습니다. Sybase는 Sybase SQL Server의 후속 제품인 Adaptive Server Enterprise에서이 언어를 사용합니다. 거래-SQL 이러한 추가 기능 SQL 향상 :
- 흐름 제어 언어
- 로컬 변수
- 다양한 지원 기능
- DELETE 및 UPDATE 문에 대한 개선 필요 [표창장 필요]
http://en.wikipedia.org/wiki/Transact-SQL
위키에서 더 많은 정보와 세부 정보를 확인할 수 있습니다.
대부분의 RDBMS 제공 업체는 SQL 확장과 저장 프로 시저 및 트리거 작성에 사용되는 프로그래밍 언어를 명확하게 구분하지만 Microsoft와 Sybase는 그 반대입니다. 개념, 즉 T-SQL로 변환합니다. 일반 쿼리를 작성할 때는 T-SQL을 사용하지만 저장 프로 시저 및 트리거를 작성할 때 T-SQL을 사용할 수도 있습니다.
이것은 생성에 절차 적 SQL 코드 [*]를 사용하도록 장려하는 논란의 여지가 있습니다.
요즘 Microsoft는 T-SQL 저장 프로 시저와 CLR (예 : .NET) 용으로 작성된 프로 시저를 구분하지만 이는 SQL Server 2005 이후의 새로운 개발입니다.
[*] : SQL을 사용하지 않는 사람들은 SQL (올바른 일)을 배우는 대신 절차 코드 (일반적으로 데이터베이스에서는 매우 비효율적)를 작성하고 싶어하기 때문에 논쟁의 여지가 있습니다.
Microsoft는
Transact SQL
(T-SQL
)와 같은 자신의SQL
확장을 구현 뒤에 이유는 무엇입니까?
인생을 편하게하십시오.
SQL
의 장점은 무엇입니까?
"정상 SQL
"
Transact-SQL
이 모두 SQL
세트 기반의 능력을 강화하고 추가 절차 능력 같은 건 없다. (Oracle
및 PostgreSQL
등)
다른 시스템은 명확 SQL
및 절차 언어 (PL/SQL
및 pl/PgSQL
)을 구분합니다.
Microsoft는 이러한 엄격한 구별을하지 않습니다. 전혀 표준 (첫 번째는 1986
에서 제안 된)가 없을 때
Transact-SQL
는 80's
의 중순 Sybase
에 의해 개발되었다.
각 공급 업체는 이미 레거시 응용 프로그램을 지원해야하는 부담이 있으며 표준을 준수하도록 데이터베이스를 다시 작성하면 호환성이 깨질 수 있습니다.
일반적으로 지원되는 표준 인 SQL:92
이 있지만 실제로는 사용하기가 너무 많이 빠져 있습니다.
SELECT
이 JOIN
인 모든 작업이 효율적으로 구현되기 위해서는 독점적 인 지원이 필요합니다.
왜 벤더가 SQL의 고유 한 맛을 창출하는지에 대한 또 하나의 중요한 이유는 성능 조정입니다. 특정 데이터베이스 엔진의 작동 방식을 활용하기 위해 작성된 공급 업체 특정 코드를 사용하여보다 성능이 우수한 쿼리를 작성하는 방법은 많이 있습니다.
흐름 제어, 로컬 변수 등 (즉, 절차 코드)에 적용 할 수있는 SQL 표준을 SQL/PSM (영구 저장 모듈)이라고합니다.
은 Wikipedia에 따르면 그것은 1996 년에 채택되었다하지만 난 그게 일반적인 문제 용의자 : 공급 업체는 이미 자신의 확장을 위해 최선을 다하고 있으므로 시간
오랜 기간 동안 연기 된 표준 차지했다 ...하지만 반드시 무기한이 아니라 희망이 있습니다. 예를 들어 SQL Server 2005의 CTE (Common Table Express) 및 OLAP 기능과 SQL Server 2008의 임시 데이터 형식은 TSQL 확장이 게시 표준과 거의 동일 함을 나타냅니다.
- 1. 왜 프라 제작자가 Yii를 만들었습니까?
- 2. LINQ to SQl, 자체 확장 클래스 참조
- 3. 왜 자식은 원래의 것과는 다른 SHA1을 만들었습니까?
- 4. Android 란 무엇이며 왜 새 VM을 만들었습니까?
- 5. 왜 내 Java는 pacMan 복제본을 느리게 만들었습니까?
- 6. Microsoft는 왜 자신의 클래스에 확장 메서드를 사용합니까?
- 7. TSQL을 사용하여 SQL Server에서 데이터베이스의 스키마를 지우시겠습니까?
- 8. tsql을 사용한 회계 계산
- 9. TSQL을 통해 링크되지 않고 다른 SQL Server에서 Sproc을 호출하십시오.
- 10. Microsoft에서 SQL Server 2008의 Notification Services를 포기한 이유는 무엇입니까?
- 11. 왜 iphone은 GKSession에서 자체 검색합니까?
- 12. 자체 문서 SQL
- 13. .NET에서 Microsoft에서 만든 소프트웨어가 있습니까?
- 14. 자체 확장 계층 또는 MEF/MAF?
- 15. "확장 자체"는 "module_function"과 동일합니까?
- 16. TSQL을 MS 액세스 SQL로 변환
- 17. tsql을 사용하여 SQL Server 인스턴스에서 모든 데이터베이스 이름을 얻으려면 어떻게해야합니까?
- 18. 확장 방법이란 무엇이며 왜 사용해야합니까?
- 19. 다른 Microsoft에서 만든 워크 플로 템플릿은 무엇입니까?
- 20. SQL 자체 조인 쿼리 도움말
- 21. 루비에서 캐스트를 가짜로 만들었습니까?
- 22. Ruby 코드를 모호하게 만들었습니까?
- 23. Microsoft에서 소켓을 다르게 구현 한 이유는 무엇입니까?
- 24. TSQL을 사용하여 값 압축 해제
- 25. tsql을 사용하여 XML 종속성 검색
- 26. TSQL을 통해 aspnet_Profile 테이블 채우기
- 27. TSQL을 표현하는 표준 방법이 있습니까?
- 28. 안드로이드 이클립스가 나를 미치게 만들었습니까?
- 29. tsql을 사용하는 동안 XML 노드 가져 오기
- 30. 메모리 VarBinary의 TSQL을 텍스트 파일로 변환 하시겠습니까?
거의 모든 DB 공급 업체는 자체 SQL 구현을 가지고 있으며, 대부분은 표준 SQL을 지원합니다. 누군가가 당신의 질문에 대답한다면, 당신을 어떻게 도와 줄 수 있습니까? – shahkalpesh
@shahkalpesh : "누군가 질문에 답하면 어떻게 도움이됩니까?" 귀하의 질문은 지식과 이해의 모든 부분을 부정합니다. 모든 교육이 실용적이어야하거나 실용적이어야합니다. – andy
사실, Sybase의 SQL 확장 기능입니다. Microsoft는 이러한 기능을 "상속"했습니다. –