第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

作業一 : USING DBMS ( 使用 DB2 及 SQL 基本練習 ) 報告人:學生楊群期 學號: 課程 : 高等資料庫 講師 : 楊維邦教授.
LOGO 第 6 章 数据库规范化设计 孙焘. 重点: 三个范式的基本概念 1 概念模型 2 物理模型 3 多 framePowerDesigner 工具的使用页面设计 4.
第四章 数据库管理和使用.
目 录 第 1 章 数据库技术基础 第 2 章 SQL Server基础 第 3 章 数据库管理 第 4 章 查询和视图
SQL的简单查询.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
十一 ASP对数据库的访问.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
OceanBase 0.4:从API到SQL 日照
第3章 SQL语言初步 2017/3/14.
資料庫 (Database) SQL Server 2008實作
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
Chap 13 視界與資料庫程式設計.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
数据库原理与SQL Server 第9章 保证数据完整性.
计算机应用基础 上海大学计算中心.
在线考试系统 答辩人: 朱允昌、朱碧云、张海燕 汇报时间: 指导老师: 任艳、徐怡 软件应用与开发类
PL/SQL程序设计 过程, 函数 Trigger 对象关系数据库技术.
Views ,Stored Procedures, User-defined Function, Triggers
主机DB2数据库应用与编程 任课老师:王湖南 四川大学计算机(软件)学院.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第五讲 利用视图进行查询优化.
第六章 學習SQL語言.
9 SELECT敘述的進階查詢 9-1 SQL的多資料表查詢 9-2 合併查詢 9-3 集合運算查詢 9-4 子查詢
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
数据库技术 第三章 关系数据库标准语言SQL 中国科学技术大学网络学院 阚卫华.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
Chap 10 SQL定義、操作與控制指令.
第 11 章 建立檢視表.
第 14 章 預存程序.
第三章 关系数据库标准查询语言SQL 3.1 SQL概述 3.2数据定义语言(DDL) 3.3 SQL的数据查询(DML)
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
Transact-SQL 語言設計教學.
課程名稱:資料庫系統 授課老師:李春雄 博士
第 16 章 觸發程序.
SQL Server 2000 数据库入门.
第7章 ADO.NET操作SQL Server数据库
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
第三章:包   包(package)是一个可以将相关对象存储在一起的PL/SQL结构。包包含了两个分离的部件------包说明(specification)和包主体(body)。每个部件都单独被存储在数据字典中。包只能存储在数据库中,不能是本地的。除了可以将相关对象作为一组存在一起以外,包也是十分有用的,因为它们在依赖性方面的限制是比较小的。也有许多性能上的优点。
SQL SERVER 一些经典语句 1.
实验4:PL-SQL编程 1.实验目的 2.实验原理 PL/SQL是一种过程化语言,属于第三代语言,本实验在与熟悉使用PL/SQL编程.
医院职工公费医疗系统.
Ch4.SQL Server 2005資料庫組成員元件介紹
iRepor报表设计基础 IReport安装 普通实体报表 数据结果集报表 工作流主从报表 饼状图报表 柱状图,曲线图报表 条形码报表
数据库应用技术 SQL Server 2005.
数据库技术与应用.
ORACLE 第九讲 触发器.
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
学习目标 1、什么是表连接 2、表连接类型 3、表连接区别.
查询与视图 蔡海洋.
第14章 SQL数据查询与操纵 内容提要 本章知识点
SQL查询语句 蔡海洋.
OceanBase 0.4:从API到SQL 日照
17 交易處理與鎖定 17-1 交易的基礎 17-2 交易處理 17-3 並行控制 17-4 資料鎖定 17-5 死結問題.
第三章 SQL Server数据管理.
第 7 章 建立資料表與資料庫圖表.
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
第9章 存储过程的创建和使用 9.1 存储过程简介 9.2 创建存储过程 9.3 修改存储过程 9.4 删除存储过程 9.5 执行存储过程.
第9章 视 图 教学提示:用户在查询数据库中的数据时,除了直接查看数据库中的表中的数据以外,还可以通过视图来查看表中的数据,也就是说,视图为用户提供了另外一种查看表中的数据的方式。 视图是一种虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自于定义视图的查询所引用的表,并且在引用视图时动态生成。
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
第4章 数据查询.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值 14-5 修改與刪除預存程序 14-6 系統預存程序

14-1 預存程序的基礎 14-1-1 預存程序簡介 14-1-2 預存程序的優點

14-1-1 預存程序簡介-說明 預存程序(Stored Procedure)是將例行、常用和複雜的資料庫操作預先建立成T-SQL指令敘述的集合,這是在資料庫管理系統執行的指令敘述集合,可以簡化相關的資料庫操作來增進系統效能。 預存程序(Stored Procedures)是一組T-SQL指令敘述的集合,我們可以使用T-SQL流程控制指令來撰寫複雜的功能。不只如此,因為預存程序只需編譯一次,就可以執行多次,換句話說,執行預存程序可以增進系統效能,因為執行時並不需重新再編譯T-SQL指令敘述。

14-1-1 預存程序簡介-種類 使用者自訂預存程序(User-defined Stored Procedures):使用者自行使用T-SQL指令敘述所建立的預存程序。 系統預存程序(System Stored Procedures):系統提供使用「sp」字首開頭的預存程序,這些是SQL Server已經預設寫好的預存程序,可以用來擴充T-SQL的功能,換句話說,我們可以馬上使用這些系統預存程序來執行所需的操作。

14-1-2 預存程序的優點-執行T-SQL指令 一般來說,我們建立的用戶端程式共有兩種方式來敘述,如下所示: 在用戶端建立資料庫應用程式後,使用ADO或ADO.NET等元件送出T-SQL指令敘述至SQL Server,就可以在SQL Server資料庫引擎執行T-SQL指令敘述。 在SQL Server先將欲執行的T-SQL指令敘述建立成預存程序,此時用戶端程式可以是直接執行位在SQL Server的預存程序。

14-1-2 預存程序的優點-優點1 增加執行效率:預存程序可以減少編譯花費的時間,當我們重複執行預存程序時,因為並不需要重新編譯,所以能夠增進執行T-SQL指令敘述的效率。 節省網路頻寬:在用戶端只需送出一列指令敘述就可以執行位在SQL Server伺服器的預存程序,而不用傳送完整數列、數十至數百列的T-SQL指令敘述,可以減少網路傳送的資料量。

14-1-2 預存程序的優點-優點2 模組化程式設計:透過預存程序,T-SQL語言也可以使用模組化程式設計,將常常執行的T-SQL指令敘述建立成多個預存程序的模組,讓使用者重複使用這些預存程序建立的函式庫。 提供安全性:預存程序是SQL Server資料庫物件,我們可以透過授與預存程序的權限,來存取使用者並沒有擁有權限的物件。而且,擁有參數的預存程序還可以增加用戶端程式的安全性,降低駭客攻擊SQL Server伺服器的機會。

14-2 建立與執行預存程序 14-2-1 建立預存程序 14-2-2 執行預存程序 14-2-3 建立暫存預存程序

14-2 建立與執行預存程序 T-SQL語言是使用CREATE PROCEDURE(或CREATE PROC)指令來建立預存程序,其基本語法如下所示: CREATE PROC[EDURE] 預存程序名稱 [ WITH {RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}] AS T-SQL指令敘述

14-2-1 建立預存程序- 使用Management Studio 在Management Studio工具提供指令建立預存程序,不過只是提供範本,事實上,仍然是執行CREATE PROCEDURE指令來建立預存程序。

14-2-1 建立預存程序- 新增查詢來建立預存程序(說明) 因為Management Studio指令建立預存程序就是編輯和執行SQL指令碼檔案,換句話說,我們可以直接按【新增查詢】鈕新增查詢編輯視窗後,自行輸入建立預存程序的T-SQL指令敘述。

14-2-1 建立預存程序- 新增查詢來建立預存程序(範例) SQL指令碼檔:Ch14-2-1-02.sql 建立學生上課資料的預存程序【學生上課報表】,這是使用內部合併查詢合併【學生】、【課程】、【教授】和【班級】資料表,如下所示: CREATE PROCEDURE 學生上課報表 AS BEGIN SELECT 學生.學號, 學生.姓名, 課程.*, 教授.* FROM 教授 INNER JOIN (課程 INNER JOIN (學生 INNER JOIN 班級 ON 學生.學號 = 班級.學號) ON 班級.課程編號 = 課程.課程編號) ON 班級.教授編號 = 教授.教授編號 END

14-2-2 執行預存程序- 使用Management Studio 在「物件總管」視窗展開【教務系統】資料庫的預存程序清單。在【課程資料報表】上,執行【右】鍵快顯功能表的【執行預存程序】指令後,可以看到「執行程序」對話方塊。 按【確定】鈕,稍等一下,就可以看到執行結果,如右圖所示:

14-2-2 執行預存程序- EXECUTE指令執行預存程序(語法) T-SQL語言是使用EXECUTE指令來執行預存程序,其基本語法如下所示: EXEC[UTE] {預存程序名稱 | @預存程序名稱變數} 上述語法可以使用EXECUTE或EXEC指令,之後是預存程序名稱或擁有預存程序名稱的變數。

14-2-2 執行預存程序- EXECUTE指令執行預存程序(範例) SQL指令碼檔:Ch14-2-2-01.sql 使用EXEC指令執行【課程資料報表】預存程序,如下所示: EXEC 課程資料報表 SQL指令碼檔:Ch14-2-2-02.sql 使用EXECUTE指令以變數來執行【學生上課報表】預存程序,如下所示: DECLARE @proc_name char(20) SET @proc_name = '學生上課報表' EXECUTE @proc_name

14-2-2 執行預存程序- EXECUTE指令執行T-SQL指令字串(語法) 上述語法使用EXECUTE或EXEC指令,之後是欲執行的T-SQL指令敘述字串。

14-2-2 執行預存程序- EXECUTE指令執行T-SQL指令字串(範例) SQL指令碼檔:Ch14-2-2-03.sql 使用EXEC指令執行SELECT指令的T-SQL指令敘述字串,如下所示: DECLARE @table_name char(20) SET @table_name = '學生' EXEC ('SELECT * FROM ' + @table_name)

14-2-3 建立暫存預存程序-說明 「暫存預存程序」(Temporary Procedures)如同暫存資料表也是一種因需求而暫時建立的資料庫物件,只有在使用者的工作階段(Session)存在,即使用者在線上時存在,當使用者離線後,SQL Server就自動刪除暫存預存程序。 SQL Server暫存預存程序是儲存在tempdb系統資料庫,和暫存資料表相同也分為兩種:名稱使用「#」開頭的區域暫存預存程序,和「##」開頭全域暫存預存程序。

14-2-3 建立暫存預存程序-範例 SQL指令碼檔:Ch14-2-3.sql 建立名為【#學生查詢】的預存程序,這是一個區域暫存預存程序,如下所示: CREATE PROC #學生查詢 AS BEGIN SELECT 學號, 姓名, 電話 FROM 學生 END GO EXEC #學生查詢

14-3 預存程序的參數傳遞 14-3-1 建立擁有參數的預存程序 14-3-2 預設值參數 14-3-3 巢狀呼叫

14-3-1 建立擁有參數的預存程序-說明 「參數」(Parameters)是預存程序的引數,如果需要,我們可以在預存程序宣告一至多個參數,參數值是在呼叫預存程序時,才由使用者提供。 預存程序的參數預設是一種輸入參數(Input Parameters),其值是使用者呼叫預存程序時傳入的值。我們可以在預存程序中,使用參數名稱來取得或更改參數值。

14-3-1 建立擁有參數的預存程序- 建立擁有參數的預存程序(語法) CREATE PROCEDURE指令建立擁有參數的預存程序的語法,如下所示: CREATE PROC[EDURE] 預存程序名稱 @參數1 資料型別, @參數2 資料型別 [, …] AS T-SQL指令敘述

14-3-1 建立擁有參數的預存程序- 建立擁有參數的預存程序(範例1) SQL指令碼檔:Ch14-3-1-01.sql 建立擁有一個參數名為【課程查詢】的預存程序,其參數是課程編號c_no,可以查詢指定課程的資訊,如下所示: CREATE PROCEDURE 課程查詢 @c_no char(5) AS BEGIN SELECT 課程編號, 名稱, 學分 FROM 課程 WHERE 課程編號 = @c_no END

14-3-1 建立擁有參數的預存程序- 建立擁有參數的預存程序(範例2-1) SQL指令碼檔:Ch14-3-1-02.sql 建立擁有2個參數名為【員工查詢】的預存程序,參數是薪水salary和tax稅,可以顯示員工資料,如下所示: CREATE PROCEDURE 員工查詢 @salary money, @tax money AS BEGIN IF @salary <= 0 SET @salary = 30000

14-3-1 建立擁有參數的預存程序- 建立擁有參數的預存程序(範例2-2) IF @tax <= 0 SET @tax = 300 SELECT 身份證字號, 姓名, (薪水-扣稅) AS 所得額 FROM 員工 WHERE 薪水 >= @salary AND 扣稅 >= @tax END

14-3-1 建立擁有參數的預存程序- 執行擁有參數的預存程序(語法) 預存程序如果擁有參數,在執行預存程序時,使用者就需要加上傳入的參數值,其基本語法如下所示: EXEC[UTE] 預存程序名稱 參數值1, 參數值2 [, …] 或 EXEC[UTE] 預存程序名稱 @參數名稱1=參數值1, @參數名稱2=參數值2 [, …]

14-3-1 建立擁有參數的預存程序- 執行擁有參數的預存程序(範例1) SQL指令碼檔:Ch14-3-1-03.sql 使用名稱來呼叫【課程查詢】的預存程序,參數是課程編號CS101,可以查詢指定課程的資訊,如下所示: EXEC 課程查詢 @c_no = 'CS101'

14-3-1 建立擁有參數的預存程序- 執行擁有參數的預存程序(範例2) SQL指令碼檔:Ch14-3-1-02.sql 使用位置順序來呼叫【員工查詢】預存程序,參數依序是薪水salary和稅tax,如下所示: EXEC 員工查詢 50000, 500

14-3-2 預設值參數-語法 在預存程序的參數除了可以是輸入參數外,我們也可以指定參數的預設值,表示參數是一個選項參數(Optional Parameters),可有可無,其基本語法如下所示: @參數1 資料型別 [=預設值], @參數2 資料型別 [=預設值][, …] 上述語法使用「=」指定運算子來指定參數的預設值,預設值也可以是NULL空值。

14-3-2 預設值參數-範例1-1 SQL指令碼檔:Ch14-3-2-01.sql 建立名為【地址查詢】的預存程序,其參數是預設值參數,有指定預設值,如下所示: CREATE PROCEDURE 地址查詢 @city char(5) = '台北', @street varchar(30) = '中正路' AS BEGIN

14-3-2 預設值參數-範例1-2 (薪水-扣稅) AS 所得額, (城市+街道) AS 地址 FROM 員工 SELECT 身份證字號, 姓名, (薪水-扣稅) AS 所得額, (城市+街道) AS 地址 FROM 員工 WHERE 城市 LIKE @city AND 街道 LIKE @street END

14-3-2 預設值參數-範例2 SQL指令碼檔:Ch14-3-2-02.sql 呼叫名為【地址查詢】預存程序,因為有預設值,所以使用名稱方式指定單一參數值,如下所示: EXEC 地址查詢 @city = '桃園'

14-3-3 巢狀呼叫-說明 「巢狀呼叫」(Nesting)是指在預存程序中呼叫另一個預存程序,在T-SQL最多支援32層巢狀呼叫,超過就會產生錯誤。 預存程序可以使用@@NESTLEVEL系統函數來取得目前呼叫的層數。

14-3-3 巢狀呼叫-範例1 SQL指令碼檔:Ch14-3-3-01.sql 建立名為【呼叫程序】和【測試程序】的2個預存程序,如下所示: CREATE PROCEDURE 呼叫程序 @proc_name varchar(30) AS PRINT 開始層數: ' + CAST(@@NESTLEVEL AS char) EXEC @proc_name PRINT ‘結束層數: ' + CAST(@@NESTLEVEL AS char) GO CREATE PROCEDURE 測試程序 AS PRINT ‘層數: ' + CAST(@@NESTLEVEL AS char)

14-3-3 巢狀呼叫-範例2 SQL指令碼檔:Ch14-3-3-02.sql 呼叫名為【呼叫程序】的預存程序,因為是巢狀呼叫,它會再呼叫名為【測試程序】的預存程序,如下所示: EXEC 呼叫程序 '測試程序'

14-4 預存程序的傳回值 14-4-1 使用RETURN指令 14-4-2 使用OUTPUT關鍵字

14-4-1 使用RETURN指令-語法 在預存程序可以使用RETURN指令傳回預存程序的執行狀態,其基本語法如下所示: 因為預存程序會傳回值,所以在執行時需要宣告一個T-SQL變數來取得預存程序的傳回值,其語法如下所示: EXEC[UTE] @傳回值變數 = 預存程序名稱 參數值 [, …]

14-4-1 使用RETURN指令-範例1-1 SQL指令碼檔:Ch14-4-1-01.sql 建立名為【新增課程】的預存程序來新增課程記錄,參數是欄位值,程序可以判斷是否新增記錄成功,如果失敗就傳回錯誤碼,如下所示: CREATE PROCEDURE 新增課程 @c_no char(5), @title varchar(30), @credits int AS BEGIN DECLARE @errorNo int INSERT INTO 課程 VALUES (@c_no, @title, @credits)

14-4-1 使用RETURN指令-範例1-2 SET @errorNo = @@ERROR IF @errorNo <> 0 BEGIN IF @errorNo = 2627 PRINT ‘錯誤! 重複索引鍵!' ELSE PRINT ‘錯誤! 未知錯誤發生!' RETURN @errorNO END

14-4-1 使用RETURN指令-範例2 SQL指令碼檔:Ch14-4-1-02.sql 呼叫名為【新增課程】預存程序來新增一筆課程記錄,如下所示: DECLARE @retVar int EXEC @retVar = 新增課程 'CS222','資料庫程式設計',3 PRINT ‘傳回代碼:' + CONVERT(varchar, @retVar)

14-4-2 使用OUTPUT關鍵字-語法 預存程序可以使用輸出參數(Output Parameters)來取得預存程序的傳回值,其基本語法如下所示: @參數1 資料型別 [=預設值] [OUTPUT], @參數2 資料型別 [=預設值] [OUTPUT] [, …] 執行擁有輸出參數的預存程序需要宣告變數來取得傳回值,並且在執行時指定OUTPUT關鍵字,其語法如下所示: EXEC[UTE] 預存程序名稱 @傳回值變數 = 參數值 OUTPUT [, …]

14-4-2 使用OUTPUT關鍵字-範例1 SQL指令碼檔:Ch14-4-2-01.sql 建立名為【薪水查詢】的預存程序來查詢員工薪水,參數是員工姓名,可以使用輸出參數傳回員工的薪水,如下所示: CREATE PROCEDURE 薪水查詢 @name varchar(12), @salary money OUTPUT AS BEGIN SELECT @salary = 薪水 FROM 員工 WHERE 姓名 = @name END

14-4-2 使用OUTPUT關鍵字-範例2 SQL指令碼檔:Ch14-4-2-02.sql 呼叫名為【薪水查詢】預存程序來取得指定員工的薪水,如下所示: DECLARE @mySalary money EXEC 薪水查詢 '張無忌', @salary = @mySalary OUTPUT PRINT ‘Joe’s 薪水:' + CONVERT(varchar, @mySalary)

14-5 修改與刪除預存程序 14-5-1 修改預存程序 14-5-2 刪除預存程序

14-5-1 修改預存程序- 使用Management Studio 修改預存程序的內容 在「物件總管」視窗的預存程序上,執行【右】鍵快顯功能表的【修改】指令,即可重新編輯預存程序的T-SQL指令敘述。 更改預存程序名稱 在「物件總管」視窗欲更改的預存程序名稱上,執行【右】鍵快顯功能表的【重新命名】指令,可以看到反白顯示的名稱和游標,請直接輸入預存程序的新名稱即可。

14-5-1 修改預存程序- 使用T-SQL指令(說明) T-SQL語言是使用ALTER PROCEDURE指令來修改預存程序,其基本語法和CREATE PROCEDURE相同。簡單的說,修改預存程序就是重新定義預存程序。 ALTER PROCEDURE指令並無法更改預存程序名稱,我們可以使用sp_rename系統預存程序來更改預存程序的名稱,詳細說明請參閱<第7-4-1節:修改資料表名稱>。

14-5-1 修改預存程序- 使用T-SQL指令(範例) SQL指令碼檔:Ch14-5-1.sql 修改名為【課程資料報表】的預存程序,新增WHERE子句的條件,如下所示: ALTER PROCEDURE 課程資料報表 AS BEGIN SELECT 課程編號, 名稱, 學分 FROM 課程 WHERE 學分 > 3 END GO EXEC 課程資料報表

14-5-2 刪除預存程序- 使用Management Studio

14-5-2 刪除預存程序- 使用T-SQL指令 T-SQL語言是使用DROP PROCEDURE指令來刪除預存程序,其基本語法如下所示: 上述語法可以刪除名為【預存程序名稱】的預存程序,如果不只一個請使用「,」逗號分隔。 SQL指令碼檔:Ch14-5-2.sql 刪除名為【課程資料報表】的預存程序,如下所示: DROP PROCEDURE 課程資料報表

14-6 系統預存程序-說明 系統預存程序(System Stored Procedures)與擴充預存程序(Extended Stored Procedures)是SQL Server系統已經預設寫好的預存程序,其主要目的是擴充T-SQL語言的功能,換句話說,我們可以馬上使用這些預存程序來執行所需的操作。

14-6 系統預存程序-常用程序

14-6 系統預存程序-範例1 SQL指令碼檔:Ch14-6-01.sql 顯示【課程查詢】預存程序的內容,如下所示: EXEC sp_helptext 課程查詢

14-6 系統預存程序-範例2 SQL指令碼檔:Ch14-6-02.sql 顯示【學生】資料表的欄位資訊,如下所示: EXEC sp_columns 學生

End