
【2】30. DECLARE @EmpName varchar(10) , @EmpBirthday date   
SELECT @EmpName = '施佩媛' , @EmpBirthday = '1985-07-17' 
SELECT @EmpName + '小姐' , @EmpBirthday 
輸出結果? 
施佩媛      施佩媛小姐  1985-07-17 
小姐  1985-07-17    語法錯誤無法執行 
【4】31.下列何者對觸發程序使用時機之敘述錯誤? 
觸發程序可以驗證商業規則,或執行更複雜的資料驗證程序,例如:檢查使用者是否調整圖書價格超過百分之五、
庫存是否足夠和客戶是否擁有足夠的採購額度等 
觸發程序可以用來維持多資料表間的資料完整性,我們可以透過觸發程序來更改相關聯的記錄資料。例如:在「訂
單」資料表刪除一筆紀錄後,使用觸發程序在「訂單明細」資料表刪除此訂單相關的所有項目資料;或是出貨一
項商品,就自動將庫存量減一 
觸發程序能夠檢查資料更改是否是允許的操作,如果不允許就回復資料更改,我們也可以使用觸發程序直接更改
或取消原來的資料操作,並且使用電子郵件發出預警的通知郵件 
觸發程序無法分析操作以執行其他的後續處理,因為觸發程序無法比較資料更改前後的資料表狀態 
【4】32. SELECT CAST( ROUND( 188.994 , 0 ) AS NUMERIC( 5,2 ) )  與下列哪一項目執行結果相同,都是 189.00? 
 SELECT CONVERT( NUMERIC( 3, 0 ) , ROUND( 188.994 , 0 ) ) 
 SELECT CAST( 188.994 AS NUMERIC( 4, 1 ) ) 
 SELECT CONVERT( NUMERIC( 4, 1 ) , 188.994 ) 
 SELECT ROUND( CAST( 188.994 AS NUMERIC( 5, 2 ) ), 1 ) 
【2】33.預存程序(Stored Procedures)是一組 T-SQL 指令敘述的集合,我們可以使用 T-SQL 流程控制指令來撰寫複雜的
功能。下列有關預存程序的優點何者錯誤? 
增加執行效率:預存程序可以減少編譯花費的時間,當我們重複執行預存程序時,因為並不需要重新編譯,所以
能夠增進執行 T-SQL 指令敘述的效率 
預存程序可以傳回任何 T-SQL 資料類型 
模組化程式設計:透過預存程序,T-SQL 語言也可以使用模組化程式設計,將常常執行的 T-SQL 指令敘述建立成
多個預存程序的模組,讓使用者重複使用這些預存程序建立的函式庫 
節省網路頻寬:在用戶端只需送出一列指令敘述就可以執行位在 SQL Server 伺服器的預存程序,而不用傳送完整
數列、數十至數百列的 T-SQL 指令敘述,可以減少網路傳送的資料量 
【3】34.下列指令,何者可以查詢員工資料表中分機號碼第一碼是 2,最後一碼是 8的員工資料? 
 SELECT * FROM  員工  WHERE  分機號碼  LIKE '2*8' 
 SELECT * FROM  員工  WHERE  分機號碼  = '2%8' 
 SELECT * FROM  員工  WHERE  分機號碼  LIKE '2%8' 
 SELECT * FROM  員工  WHERE  分機號碼  LIKE '2[0-9]8' 
【2】35.請問 SELECT CHARINDEX('DEF', 'ABCDEFGHABCDEFGH' , 5)的執行結果? 
 11  12   13   14 
【2】36.請問 SELECT DATEADD( month , -3, '2015-01-31' )的執行結果? 
 2014-04-30 00:00:00.000     
 2014-10-31 00:00:00.000 
 2015-04-30 00:00:00.000     
 2015-10-31 00:00:00.000 
【4】37.下列有關 T-SQL 中變數的敘述何者錯誤? 
預存程序的「巢狀呼叫」(Nesting)中,可以使用@@NESTLEVEL 系統函數來取得目前呼叫的層數 
變數名稱必須以『@』為起始字元,例如@MyIntVariable 
可以利用 SET 或SELECT 指派變數的值 
區域變數的宣告與指派動作不可同時進行,例如 DECLARE @MyIntVariable int = 10 是錯誤的 
【3】38.下列何者不是 SQL Server 的系統資料庫(System Databases)? 
 master 資料庫     model 資料庫   
 northwind 資料庫     tempdb 資料庫 
【2】39.啟動 SQL Server Management Studio 後,若是連結至本機,無法使用下列哪一種方式? 
輸入一個點「.」     local   
 127.0.0.1    本機的電腦名稱 
【3】40.下列 SELECT 指令執行結果,何者錯誤? 
 SELECT DATEDIFF( yy, '2015/12/05', '2013/01/01' )  -2 
 SELECT DATEADD( quarter , 1 , '2016-01-31' )  2016-04-30 00:00:00.000 
 SELECT ROUND( CAST( 99.95 AS NUMERIC( 4, 2 ) ), 1 )  100.00 
 SELECT CHARINDEX('2 朵', '妳我是天上的 2朵雲')  7 
 
 
 
貳、非選擇題 2大題(每題 20 分) 
第一題: 
請使用 JAVA 程式語言撰寫氣泡排序法實作。 
(一)請先用虛擬碼撰寫氣泡排序法。【5分】 
(二)依據此虛擬碼,使用 JAVA 程式語言撰寫氣泡排序法。【10 分】 
(三)請問  (7, 5, 8, 6)  此串列例子,若使用氣泡排序法,則會有幾回合(Pass)的疊代(iteration)?【 5分】 
 
 
 
 
 
 
 
 
 
 
第二題: 
請使用 COBOL 程式語言撰寫下列數字倍數和加總邏輯的程式: 
(一)在螢幕上顯示 1到300 之間 5的倍數。【10 分】 
(二)自 1加到 50,求得其總和數字,並將“1 + 2 + 3 + 4 + ……+ 50 =”和此總和數字存放在 LISTOUT
的輸出檔案上。【10 分】 
註:作答時只需撰寫 DATA DIVISION 以及 PROCEDURE DIVISION 兩部分即可。