變數,是相對於常量而言的乙個概念,字面的意思常量就是乙個不變的值,如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 繪畫基礎與造型能力 繪畫基礎與造型能力是服裝設計師的基本技能之一。當然,以前的設計大師也有個別不會畫畫的,但他需要在其他方面有更傑出的表現。但有些人即使通過在學校系統地學習和培訓,仍然不能很好地用繪畫方式表達設計意念的話,那將為自己的創作帶來很大的困難。只有具備了良好的繪畫基礎才能通過設計的造型...