数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
前言
以下皆使用T-SQL語(yǔ)句的方式來(lái)執(zhí)行語(yǔ)句,使用圖形界面方式不再累贅。
一、用戶定義數(shù)據(jù)類型
(一)?CREATE TYPE 語(yǔ)句
1、CREATE TYPE語(yǔ)句
下面介紹使用T-SQL語(yǔ)句,創(chuàng)建用戶自定義數(shù)據(jù)類型,即使用CREATE TYPE 語(yǔ)句:
CREATE TYPE <自定義數(shù)據(jù)類型名稱> FROM <所依據(jù)的系統(tǒng)數(shù)據(jù)類型> NULL/NOT NULL2、DROP TYPE 語(yǔ)句
刪除用戶自定義數(shù)據(jù)類型,使用DROP TYPE 語(yǔ)句刪除:
DROP TYPE <自定義數(shù)據(jù)類型名稱>例:在數(shù)據(jù)庫(kù)YGGZ中,使用CREATE TYPE 命令創(chuàng)建用戶自定義數(shù)據(jù)類型School_classNO,定義為char類型,且不能為空。
語(yǔ)句如下:
CREATE TYPE School_classNO FROM char(6) NOT NULL運(yùn)行如下:
3、自定義數(shù)據(jù)類型定義列
若要自定義數(shù)據(jù)類型定義列時(shí),可以定義一列,即在定義侯跟多個(gè)要定義的自定義數(shù)據(jù)類型,例使用用戶自定義數(shù)據(jù)類型class_classID定義class表的classID列。這里創(chuàng)建class表與之前不同的是,在定義classID列時(shí)應(yīng)用了用戶自定義數(shù)據(jù)類型class_classID。
USE YGGZ CREATE TABLE class (calssID class_classID NULL PRIMARY KEY,Classname char(6) NOT NULL,Sex char(2) NOT NULL ) GO(二)用戶自定義表數(shù)據(jù)類型
用戶自定義表數(shù)據(jù)類型,可以作為參數(shù)提供給語(yǔ)句、函數(shù)、存儲(chǔ)過(guò)程。
CREATE TYPE <自定義表數(shù)據(jù)類型名稱>AS TABLE <列的描述> (表的約束)二、變量
變量分為全局變量和局部變量。
(一)全局變量
全局變量是由系統(tǒng)定義,,而不是用戶定義的,在其名稱前面加“@@”,用于提供當(dāng)前的系統(tǒng)信息。
其可以作為函數(shù)引用,SELECT @@+語(yǔ)句,即可調(diào)用,例SELECT @@ERROR即表示最后執(zhí)行的sql語(yǔ)句的錯(cuò)誤代碼(0表示沒(méi)錯(cuò)誤)。
(二)局部變量
局部變量是由用戶自己定義和使用的,在其局部變量前面加有“@”,要注意局部變量只是在聲明它的批處理里或者過(guò)程中才有效,當(dāng)執(zhí)行結(jié)束后,即無(wú)效。
1、DECLARE語(yǔ)句
使用DECLARE語(yǔ)句定義局部變量,所有的局部變量聲明后均初始化為NULL,格式如下:
DECLARE @局部變量名稱 <局部變量的數(shù)據(jù)類型>(=value) /*value為變量賦值*/2、SET語(yǔ)句和SELECT語(yǔ)句
我們可以使用SET語(yǔ)句或者SELECT語(yǔ)句對(duì)定義的局部變量賦值,
(1)SET語(yǔ)句
DECLARE @<局部變量名稱> SET @<局部變量名稱> = <表達(dá)式>在為局部變量賦值前,局部變量必須要首先已DECLARE 語(yǔ)句定義過(guò)。
例1:創(chuàng)建兩個(gè)個(gè)局部變量,前兩個(gè)變量賦值后,并輸出變量值(student_NO、student_Name)。
語(yǔ)句如下:
DECLARE @student_NO char(6),@student_Name char(6) SET @student_NO='001' SET @student_Name='曾成' SELECT @student_NO+@student_Name運(yùn)行如下:
例2:使用一個(gè)局部變量(class_number)來(lái)查找該學(xué)校School數(shù)據(jù)庫(kù)classes表中班級(jí)編號(hào)為A103的班級(jí)的班主任和人數(shù)信息。
USE School DECLARE @class_number char(5) SET @class_number='A103'SELECT teacher_headteacher,number_classFROM classesWHERE class_number=@class_number(2)SELECT語(yǔ)句
SELECT <@數(shù)據(jù)類型名稱=表達(dá)式>例:在數(shù)據(jù)量School中classes表使用SELECT語(yǔ)句將姓名為“成小”的學(xué)生輸出。
USE School DECLARE @name char(3) SELECT @name=classes_name FROM classes WHERE classes_name='成小' PRINT @name結(jié)語(yǔ)
以上就是本次數(shù)據(jù)庫(kù)原理與應(yīng)用(SQL Server)筆記用戶自定義數(shù)據(jù)類型與變量的全部?jī)?nèi)容,感謝您的閱讀和支持,篇幅較長(zhǎng),若有表述以及代碼中的不當(dāng)之處,望指出!您的指出和建議能給作者帶來(lái)很大的動(dòng)力!!!
總結(jié)
以上是生活随笔為你收集整理的数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++编程练习:多态实验——设计一个基类
- 下一篇: 数据库原理与应用(SQL Server)