基本技能篇 SQL 的變數

2021-10-20 01:25:50 字數 1479 閱讀 8089

變數,是相對於常量而言的乙個概念,字面的意思常量就是乙個不變的值,如1,2,3,4,5,6…a,bc之類的,變數就是乙個可變的值。

變數可分為區域性變數和全域性變數,區域性變數需要預先定義,前面以乙個@開頭,常於declare聯用,全域性變數可以看作是系統變數,不用定義可以直接呼叫,前面以兩個@開頭。

以下展開來說一下:

(1)區域性變數:定義方式 declare @變數名 資料型別

變數賦值:set 或 select

如 set @i =1 這個時候 @i 裡的值就是1 了

還有 select @i= count(1) from table a 類似這樣的應用。

執行 select @i 則會展示@i 的值。

變數的使用:

a) 作為查詢條件使用,當@i被定義並賦值後,可以放到where條件裡使用

如 select * from tableb where xh =@i ;

b) 作為判斷條件使用,其實用法和常量類似,如:

if @i >1

begin

…end

c) 作為儲存過程的入參使用,這裡是固定語法,如:

create proc 儲存過程名

@rq1 datetime,

@rq2 datetimeas…

上述三點涉及到一些查詢、聚合函式、儲存過程等,有不明白的可以先放下,後面會慢慢講到。主要是要理解 區域性變數的作用,下面用**和執行結果對比,更加有助於理解:

**段1 :

declare @i int ----定義變數@i

select @i -----先看下@i的值,此時沒有賦值的情況下預設是null

set @i = 1 ----將@i 賦值為1

select @i ----再次檢視@i 的值

執行的結果:

**段2 :

declare @i int ----定義

set @i = 1 ----賦值

set @i=@i+1 ----先自增1 ,再賦值回@i

select @i —展示結果

效果如下 :

通過這兩個例子,應該對變數有個基本的理解了。需要說明一點的是,區域性變數只是區域性有效,比如在當前儲存過程內或在當前程序內,離開當前的執行過程,區域性變數就會被釋放了。

(2)全域性變數:

全域性變數實際上是獲取資料庫層面的一些引數,前面有兩個@@,在平時使用過程中其實出現的頻率不高,最常用的就兩個:@@error和@@rowcount 。

@@error返回最後執行的sql是否報錯,如果報錯,這個變數就不為0 ,這邊變數經常用來判斷上一句是否執行成功。而@@rowcount則返回上一句執行所影響的行數,常用來判斷insert 是否成功。

基本技能篇 SQL 基本語法之 刪

兩個都可以用來刪除表資料,但是有幾點區別 1 delete from 後面可以加條件,刪除特定的行資料,如 delete from 表名 where xh 1 但是truncate table 是整個表都會清空,後面不能加條件 2 delete from 語句執行起來,沒有truncate tabl...

基本技能篇 SQL 基本語法之 改

前面的幾篇文章說到sql的一些基礎概念,以及物件層面和資料層面的增和刪,今天說下 改 資料庫的 改 即修改,我們還是從兩個層面來說 1.物件層面 資料庫物件的修改關鍵字是alter 如 alter table 表名 add 欄位名 型別 預設值 增加表字段 alter table 表名 alter ...

設計的基本技能

1 繪畫基礎與造型能力 繪畫基礎與造型能力是服裝設計師的基本技能之一。當然,以前的設計大師也有個別不會畫畫的,但他需要在其他方面有更傑出的表現。但有些人即使通過在學校系統地學習和培訓,仍然不能很好地用繪畫方式表達設計意念的話,那將為自己的創作帶來很大的困難。只有具備了良好的繪畫基礎才能通過設計的造型...