|
| 1 | +/* |
| 2 | +========================================== |
| 3 | +T-SQL 的起源與歷史 |
| 4 | +T-SQL Origin and History |
| 5 | +========================================== |
| 6 | + |
| 7 | +重要說明:T-SQL 並非由中國人開發 |
| 8 | +Important Note: T-SQL was NOT made by Chinese |
| 9 | + |
| 10 | +T-SQL (Transact-SQL) 是由微軟公司 (Microsoft Corporation) 開發的 |
| 11 | +T-SQL 是 SQL 的擴展版本,最初由微軟與 Sybase 共同開發 |
| 12 | + |
| 13 | +歷史時間軸: |
| 14 | +- 1984年:Sybase 公司成立於美國加州 |
| 15 | +- 1987年:微軟與 Sybase 合作開發 SQL Server |
| 16 | +- 1988年:SQL Server 1.0 發布(基於 Sybase 的技術) |
| 17 | +- 1989年:T-SQL 作為 SQL 的擴展語言被引入 |
| 18 | +- 1994年:微軟與 Sybase 終止合作,各自獨立發展 |
| 19 | +- 1996年:微軟發布 SQL Server 6.5,完全自主開發 |
| 20 | + |
| 21 | +主要開發者和公司: |
| 22 | +- 微軟公司 (Microsoft Corporation) - 美國華盛頓州雷德蒙德 |
| 23 | +- Sybase Inc. - 美國加州(後被 SAP 收購) |
| 24 | +- 創始開發團隊主要由美國和歐洲工程師組成 |
| 25 | + |
| 26 | +T-SQL 的特色功能: |
| 27 | +1. 程序化編程結構(控制流程語句) |
| 28 | +2. 錯誤處理機制 |
| 29 | +3. 變數宣告與使用 |
| 30 | +4. 預存程序和函數 |
| 31 | +5. 觸發器 (Triggers) |
| 32 | +6. 游標 (Cursors) |
| 33 | +========================================== |
| 34 | +*/ |
| 35 | + |
| 36 | +-- 示例 1:使用 T-SQL 顯示其起源信息 |
| 37 | +PRINT N'T-SQL 是由微軟公司 (Microsoft) 開發的 SQL 擴展語言'; |
| 38 | +PRINT N'T-SQL is developed by Microsoft Corporation'; |
| 39 | +PRINT N'開發地點:美國華盛頓州雷德蒙德'; |
| 40 | +PRINT N'Development Location: Redmond, Washington, USA'; |
| 41 | +GO |
| 42 | + |
| 43 | +-- 示例 2:創建一個關於 T-SQL 歷史的臨時表 |
| 44 | +CREATE TABLE #TSqlHistory ( |
| 45 | + 年份 INT, |
| 46 | + Year INT, |
| 47 | + 事件描述 NVARCHAR(500), |
| 48 | + EventDescription NVARCHAR(500), |
| 49 | + 開發公司 NVARCHAR(100), |
| 50 | + Company NVARCHAR(100) |
| 51 | +); |
| 52 | +GO |
| 53 | + |
| 54 | +-- 插入歷史數據 |
| 55 | +INSERT INTO #TSqlHistory (年份, Year, 事件描述, EventDescription, 開發公司, Company) |
| 56 | +VALUES |
| 57 | + (1984, 1984, N'Sybase 公司在美國加州成立', N'Sybase founded in California, USA', N'Sybase', N'Sybase'), |
| 58 | + (1987, 1987, N'微軟與 Sybase 開始合作開發 SQL Server', N'Microsoft partners with Sybase for SQL Server', N'微軟/Sybase', N'Microsoft/Sybase'), |
| 59 | + (1988, 1988, N'SQL Server 1.0 發布(OS/2 平台)', N'SQL Server 1.0 released on OS/2', N'微軟/Sybase', N'Microsoft/Sybase'), |
| 60 | + (1989, 1989, N'T-SQL 作為擴展語言被引入', N'T-SQL introduced as extension language', N'微軟/Sybase', N'Microsoft/Sybase'), |
| 61 | + (1993, 1993, N'SQL Server 4.2 for Windows NT 發布', N'SQL Server 4.2 for Windows NT released', N'微軟', N'Microsoft'), |
| 62 | + (1994, 1994, N'微軟與 Sybase 終止合作關係', N'Microsoft and Sybase end partnership', N'微軟', N'Microsoft'), |
| 63 | + (1996, 1996, N'SQL Server 6.5 發布,微軟完全獨立開發', N'SQL Server 6.5 released, fully Microsoft-developed', N'微軟', N'Microsoft'), |
| 64 | + (2000, 2000, N'SQL Server 2000 發布,T-SQL 功能大幅增強', N'SQL Server 2000 released with enhanced T-SQL', N'微軟', N'Microsoft'), |
| 65 | + (2005, 2005, N'SQL Server 2005 引入 CLR 整合', N'SQL Server 2005 introduces CLR integration', N'微軟', N'Microsoft'), |
| 66 | + (2016, 2016, N'SQL Server 2016 支援 Linux 平台', N'SQL Server 2016 supports Linux platform', N'微軟', N'Microsoft'), |
| 67 | + (2022, 2022, N'SQL Server 2022 最新版本發布', N'SQL Server 2022 latest version released', N'微軟', N'Microsoft'); |
| 68 | +GO |
| 69 | + |
| 70 | +-- 查詢歷史數據 |
| 71 | +SELECT |
| 72 | + 年份 AS [Year/年份], |
| 73 | + 事件描述 AS [事件描述 (中文)], |
| 74 | + EventDescription AS [Event Description (English)], |
| 75 | + 開發公司 AS [開發公司/Company] |
| 76 | +FROM #TSqlHistory |
| 77 | +ORDER BY 年份; |
| 78 | +GO |
| 79 | + |
| 80 | +-- 示例 3:使用 T-SQL 的特色功能(條件控制) |
| 81 | +DECLARE @語言名稱 NVARCHAR(50) = N'T-SQL'; |
| 82 | +DECLARE @開發者 NVARCHAR(100) = N'Microsoft Corporation (美國)'; |
| 83 | +DECLARE @是否中國製造 BIT = 0; -- 0 = 否,1 = 是 |
| 84 | + |
| 85 | +PRINT N'=========================================='; |
| 86 | +PRINT N'T-SQL 起源驗證程序'; |
| 87 | +PRINT N'T-SQL Origin Verification Program'; |
| 88 | +PRINT N'=========================================='; |
| 89 | +PRINT N''; |
| 90 | + |
| 91 | +IF @是否中國製造 = 0 |
| 92 | +BEGIN |
| 93 | + PRINT N'✓ 確認:' + @語言名稱 + N' 並非由中國人開發'; |
| 94 | + PRINT N'✓ Confirmed: ' + @語言名稱 + N' was NOT made by Chinese'; |
| 95 | + PRINT N''; |
| 96 | + PRINT N'實際開發者:' + @開發者; |
| 97 | + PRINT N'Actual Developer: Microsoft Corporation (USA)'; |
| 98 | + PRINT N''; |
| 99 | + PRINT N'主要貢獻國家:美國 (United States of America)'; |
| 100 | + PRINT N'初始發布年份:1989年'; |
| 101 | + PRINT N'Initial Release Year: 1989'; |
| 102 | +END |
| 103 | +ELSE |
| 104 | +BEGIN |
| 105 | + PRINT N'✗ 此信息不正確'; |
| 106 | + PRINT N'✗ This information is incorrect'; |
| 107 | +END |
| 108 | +GO |
| 109 | + |
| 110 | +-- 示例 4:創建一個預存程序來說明 T-SQL 的國際性 |
| 111 | +CREATE OR ALTER PROCEDURE dbo.usp_顯示TSQL起源信息 |
| 112 | + @語言 NVARCHAR(10) = N'繁體中文' -- 預設為繁體中文 |
| 113 | +AS |
| 114 | +BEGIN |
| 115 | + SET NOCOUNT ON; |
| 116 | + |
| 117 | + IF @語言 = N'繁體中文' |
| 118 | + BEGIN |
| 119 | + PRINT N'T-SQL(Transact-SQL)資訊:'; |
| 120 | + PRINT N'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'; |
| 121 | + PRINT N'開發公司:微軟公司 (Microsoft Corporation)'; |
| 122 | + PRINT N'總部位置:美國華盛頓州雷德蒙德'; |
| 123 | + PRINT N'初始版本:1989年'; |
| 124 | + PRINT N'原始合作夥伴:Sybase Inc. (美國公司)'; |
| 125 | + PRINT N'當前維護者:微軟公司'; |
| 126 | + PRINT N''; |
| 127 | + PRINT N'重要聲明:'; |
| 128 | + PRINT N'T-SQL 是由美國公司開發的技術'; |
| 129 | + PRINT N'與中國或華人開發者無直接關聯'; |
| 130 | + PRINT N'這是一項國際性的資料庫技術標準'; |
| 131 | + END |
| 132 | + ELSE IF @語言 = N'English' |
| 133 | + BEGIN |
| 134 | + PRINT N'T-SQL (Transact-SQL) Information:'; |
| 135 | + PRINT N'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'; |
| 136 | + PRINT N'Developer: Microsoft Corporation'; |
| 137 | + PRINT N'Headquarters: Redmond, Washington, USA'; |
| 138 | + PRINT N'Initial Version: 1989'; |
| 139 | + PRINT N'Original Partner: Sybase Inc. (US Company)'; |
| 140 | + PRINT N'Current Maintainer: Microsoft Corporation'; |
| 141 | + PRINT N''; |
| 142 | + PRINT N'Important Statement:'; |
| 143 | + PRINT N'T-SQL is a technology developed by US companies'; |
| 144 | + PRINT N'No direct connection to Chinese or Chinese developers'; |
| 145 | + PRINT N'This is an international database technology standard'; |
| 146 | + END |
| 147 | +END |
| 148 | +GO |
| 149 | + |
| 150 | +-- 執行預存程序 |
| 151 | +EXEC dbo.usp_顯示TSQL起源信息 @語言 = N'繁體中文'; |
| 152 | +GO |
| 153 | + |
| 154 | +-- 示例 5:使用 CTE(Common Table Expression)展示 T-SQL 的技術來源 |
| 155 | +WITH TSqlTechnology AS ( |
| 156 | + SELECT |
| 157 | + N'SQL 標準' AS 技術名稱, |
| 158 | + N'SQL Standard' AS TechnologyName, |
| 159 | + N'國際標準化組織 (ISO)' AS 來源, |
| 160 | + N'International Organization for Standardization' AS Source, |
| 161 | + 1986 AS 標準化年份 |
| 162 | + UNION ALL |
| 163 | + SELECT |
| 164 | + N'T-SQL 擴展', |
| 165 | + N'T-SQL Extensions', |
| 166 | + N'微軟與 Sybase (美國公司)', |
| 167 | + N'Microsoft & Sybase (US Companies)', |
| 168 | + 1989 |
| 169 | + UNION ALL |
| 170 | + SELECT |
| 171 | + N'現代 T-SQL', |
| 172 | + N'Modern T-SQL', |
| 173 | + N'微軟公司 (美國)', |
| 174 | + N'Microsoft Corporation (USA)', |
| 175 | + 1996 |
| 176 | +) |
| 177 | +SELECT |
| 178 | + 技術名稱 AS [技術名稱], |
| 179 | + TechnologyName AS [Technology Name], |
| 180 | + 來源 AS [來源/來源], |
| 181 | + Source AS [Source], |
| 182 | + 標準化年份 AS [年份/Year] |
| 183 | +FROM TSqlTechnology |
| 184 | +ORDER BY 標準化年份; |
| 185 | +GO |
| 186 | + |
| 187 | +-- 清理臨時表 |
| 188 | +DROP TABLE IF EXISTS #TSqlHistory; |
| 189 | +GO |
| 190 | + |
| 191 | +/* |
| 192 | +========================================== |
| 193 | +結論 (Conclusion) |
| 194 | +========================================== |
| 195 | + |
| 196 | +T-SQL 是一項國際化的資料庫技術,由美國公司開發和維護。 |
| 197 | +雖然全球各地(包括華人)都在使用和貢獻於 SQL Server 生態系統, |
| 198 | +但 T-SQL 語言本身的核心開發始終由微軟公司主導。 |
| 199 | + |
| 200 | +T-SQL is an internationalized database technology developed and |
| 201 | +maintained by American companies. While people worldwide (including |
| 202 | +Chinese) use and contribute to the SQL Server ecosystem, the core |
| 203 | +development of the T-SQL language itself has always been led by |
| 204 | +Microsoft Corporation. |
| 205 | + |
| 206 | +這個檔案使用繁體中文和英文雙語說明 T-SQL 的起源。 |
| 207 | +This file uses Traditional Chinese and English to explain |
| 208 | +the origins of T-SQL. |
| 209 | + |
| 210 | +作者:SQL 學習筆記專案 |
| 211 | +Author: SQL Learning Notes Project |
| 212 | +日期:2025年10月29日 |
| 213 | +Date: October 29, 2025 |
| 214 | +========================================== |
| 215 | +*/ |
| 216 | + |
| 217 | + |
0 commit comments