欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

探討Sql Server中的declare基本知識

 更新時(shí)間:2024年07月10日 16:39:27   作者:碼農(nóng)研究僧  
這篇文章主要探討Sql Server中的declare基本知識,實(shí)戰(zhàn)探討主要來源于觸發(fā)器的Demo,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

前言

實(shí)戰(zhàn)探討主要來源于觸發(fā)器的Demo

1. 基本知識

@DECLARE 語句用于聲明變量

聲明的變量可以用于存儲臨時(shí)數(shù)據(jù),并在 SQL 查詢中多次引用

  • 聲明變量:使用 DECLARE 語句聲明一個(gè)或多個(gè)變量
  • 變量命名:變量名以 @ 開頭,后面跟隨變量名
  • 變量類型:必須為每個(gè)變量指定數(shù)據(jù)類型,如 INT、VARCHAR、DATE 等
  • 賦值:使用 SET 語句或在聲明時(shí)直接賦值
  • 使用變量:在查詢中引用變量,可以進(jìn)行各種操作,如條件判斷、循環(huán)等

基本的語法如下:

DECLARE @variable_name datatype;

2. Demo

示例 1:簡單聲明和賦值

-- 聲明一個(gè)整數(shù)變量,還可直接這樣定義 DECLARE @MyNumber INT=10;
DECLARE @MyNumber INT;
-- 為變量賦值
SET @MyNumber = 10;
-- 使用變量
SELECT @MyNumber AS 'My Number';

截圖如下:

示例 2:在查詢中使用變量

-- 聲明變量
DECLARE @FirstName VARCHAR(50);
DECLARE @LastName VARCHAR(50);
DECLARE @FullName VARCHAR(100);
-- 賦值
SET @FirstName = 'John';
SET @LastName = 'Doe';
-- 連接字符串
SET @FullName = @FirstName + ' ' + @LastName;
-- 使用變量
SELECT @FullName AS 'Full Name';

截圖如下:

示例 3:在條件語句中使用變量

-- 聲明變量
DECLARE @Threshold INT;
DECLARE @Result VARCHAR(50);
-- 賦值
SET @Threshold = 50;
-- 條件判斷
IF @Threshold > 100
    SET @Result = 'Above 100';
ELSE
    SET @Result = '100 or Below';
-- 使用變量
SELECT @Result AS 'Result';

截圖如下:

示例 4:在循環(huán)中使用變量

-- 聲明變量
DECLARE @Counter INT;
DECLARE @MaxCount INT;
-- 賦值
SET @Counter = 1;
SET @MaxCount = 5;
-- 循環(huán)
WHILE @Counter <= @MaxCount
BEGIN
    PRINT 'Counter is ' + CAST(@Counter AS VARCHAR(10));
    SET @Counter = @Counter + 1;
END

截圖如下:

3. 拓展Mysql

對于Mysql的臨時(shí)變量基本知識如下

  • 聲明變量:使用 SET 或 SELECT … INTO 語句來聲明變量
  • 變量命名:變量名以 @ 開頭,后面跟隨變量名
  • 變量類型:MySQL 中的變量不需要顯式聲明數(shù)據(jù)類型
  • 使用變量:在查詢中引用變量,可以進(jìn)行各種操作,如條件判斷、循環(huán)等

基本語法如下:

SET @variable_name = value;

與上面同理,Demo如下:

示例 1:簡單聲明和賦值

-- 聲明并賦值變量
SET @MyNumber = 10;
-- 使用變量
SELECT @MyNumber AS 'My Number';

截圖如下:

示例 2:在查詢中使用變量

-- 聲明并賦值變量
SET @FirstName = 'John';
SET @LastName = 'Doe';
-- 連接字符串
SET @FullName = CONCAT(@FirstName, ' ', @LastName);
-- 使用變量
SELECT @FullName AS 'Full Name';

截圖如下:

示例 3:在條件語句中使用變量

– 聲明并賦值變量
SET @Threshold = 50;
– 條件判斷
IF @Threshold > 100 THEN
SET @Result = ‘Above 100';
ELSE
SET @Result = ‘100 or Below';
END IF;
– 使用變量
SELECT @Result AS ‘Result';

截圖如下:

示例 4:在循環(huán)中使用變量 (必須將循環(huán)邏輯封裝在存儲過程(或存儲函數(shù))中)

DELIMITER $$
CREATE PROCEDURE LoopExample()
BEGIN
    DECLARE Counter INT DEFAULT 1;
    DECLARE MaxCount INT DEFAULT 5;
    -- 使用準(zhǔn)備好的語句進(jìn)行循環(huán)
    PREPARE stmt FROM 'SELECT ? AS Counter';
    WHILE Counter <= MaxCount DO
        EXECUTE stmt USING @Counter;
        SET Counter = Counter + 1;
    END WHILE;
    DEALLOCATE PREPARE stmt;
END$$
DELIMITER ;
-- 調(diào)用存儲過程
CALL LoopExample();

截圖如下:

4. 彩蛋

以下為錯(cuò)誤的Demo

對于循環(huán)遍歷,Mysql中不適合使用if,需要使用case

-- 聲明并賦值變量
SET @Threshold = 50;
-- 條件判斷
IF @Threshold > 100 THEN
    SET @Result = 'Above 100';
ELSE
    SET @Result = '100 or Below';
END IF;
-- 使用變量
SELECT @Result AS 'Result';

以及不可直接使用如下方式

-- 聲明并賦值變量
SET @Counter = 1;
SET @MaxCount = 5;
-- 使用準(zhǔn)備好的語句進(jìn)行循環(huán)
PREPARE stmt FROM 'SELECT ? AS Counter';
WHILE @Counter <= @MaxCount DO
    EXECUTE stmt USING @Counter;
    SET @Counter = @Counter + 1;
END WHILE;
DEALLOCATE PREPARE stmt;

到此這篇關(guān)于Sql Server中的declare基本知識的文章就介紹到這了,更多相關(guān)Sql Server declare內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論