• <nav id="kggui"></nav>
  • <optgroup id="kggui"></optgroup>
  • <menu id="kggui"></menu><xmp id="kggui"><nav id="kggui"></nav>
    <menu id="kggui"><menu id="kggui"></menu></menu>
    <nav id="kggui"></nav>

    mysql語句if

    mysql里面的if語句,到底哪里錯了

    mysql 里面, 變量不需要加 @ 這個符號的呀

    mysql> DELIMITER //

    mysql> CREATE PROCEDURE TestIfElse

    -> (

    -> p_val INT

    -> )

    -> BEGIN

    -> IF (p_val = 1) THEN

    -> SELECT '1' AS A;

    -> ELSEIF (p_val = 2) THEN

    -> SELECT '2' AS A;

    -> ELSE

    -> SELECT 'other' AS A;

    -> END IF;

    -> END//

    Query OK, 0 rows affected (0.05 sec)

    mysql> call TestIfElse(1);

    -> //

    +---+

    | A |

    +---+

    | 1 |

    +---+

    1 row in set (0.00 sec)

    Query OK, 0 rows affected (0.00 sec)

    mysql> call TestIfElse(2);

    -> //

    +---+

    | A |

    +---+

    | 2 |

    +---+

    1 row in set (0.00 sec)

    Query OK, 0 rows affected (0.00 sec)

    mysql> call TestIfElse(3);

    -> //

    +-------+

    | A |

    +-------+

    | other |

    +-------+

    1 row in set (0.00 sec)

    Query OK, 0 rows affected (0.00 sec)

    mysql>

    mysql 觸發器 if 語句 update

    @sqlz ='select asd from flkg';

    EXECUTE(@sqlz);

    ----------

    首先,mysql下動態語句不是這樣寫的,另外,觸發器里不能允許返回結果集的.

    這里我是希望他能中斷更新!

    ---------------------

    你的意思是不是要中斷后面的

    "

    SET amount =@amountmm

    WHERE CODE=* AND whcode = * ;

    "

    這部分?

    如果是的話,那這樣改下:

    DELIMITER $$

    USE `eerp`$$

    DROP TRIGGER /*!50032 IF EXISTS */ `material_update`$$

    CREATE TRIGGER `material_update` AFTER UPDATE ON `sf_material`

    FOR EACH ROW BEGIN

    IF *ng = 'Y' THEN

    SET @amountmm = (SELECT * FROM warehouse WHERE CODE=* AND whcode = *);

    IF @amountmm >=0 THEN

    UPDATE warehouse

    SET amount =@amountmm

    WHERE CODE=* AND whcode = * ;

    END IF ;

    END IF;

    END;

    $$

    DELIMITER ;

    &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

    "我是要中斷更新。。不是后面。。。嚴格說就是這個表sf_material更新和后面的那個表warehouse更新也一起中斷!"

    ---------------------------------------------------------------

    因為mysql下觸發器內不支持rollback,所以,變換一個方式來處理,如下:

    那觸發器部分這么寫(注意:一定要使表TB_error_rollback在你的庫中不允許存在):

    CREATE TRIGGER `material_update`

    BEFORE UPDATE

    ON `sf_material`

    FOR EACH ROW

    BEGIN

    IF *ng = 'Y' THEN

    SET @amountmm = (SELECT amount- * FROM warehouse WHERE CODE=* AND whcode = *);

    IF @amountmm <0 THEN

    update TB_error_rollback set name=1;

    END IF;

    UPDATE warehouse

    SET amount =@amountmm

    WHERE CODE=* AND whcode = *;

    END IF;

    END;

    轉載請注明出處華閱文章網 » mysql語句if

    短句

    sql查詢語句notin

    閱讀(301)

    sql語句not in 和not exist各自的用法和區別 in 和 exists也是很好區別的.in 是一個集合運算符.a in {a,c,d,s,d。.}這個運算中,前面是一個元素,后面是一個集合,集合中的元素類型是和前面的元素一樣的. 而exists

    短句

    mysqlinto語句

    閱讀(252)

    mysql insert into 語句能插入多少條 例如:INSERT INTO projektsVALUES (1,'outside house painting','Murphy'),(2,'kitchen remodel','Valdez'),(3,

    短句

    sql查詢語句andor

    閱讀(249)

    SQL語句中 AND和OR的區別 區別1:and是與運算;or是或運算。區別2:and運算要前后兩個運算對象都為真是,and運算結果才為真;or運算是兩個運算對象中有一個為真,or運算結果就為真

    短句

    mysqlwith語句

    閱讀(279)

    SQL中使用WITH 語句的查詢 sql with as 用法(適用sqlserver,好像oracle也適用)Server 2005中提供了公用表表達式(CTE),使用CTE,可以使SQL語句的可維護性,同時,CTE要比表變量的效率高得多。 下面是CTE的

    短句

    語句for

    閱讀(243)

    需要for循環語句的使用講解 只要指定條件為 true 都執行語句塊.for (initialization; test; increment)statements 參數initialization 必選項.一個表達式.該表達式只在執行循環前被執行一次.te

    短句

    銷售正能量的句子經典語句

    閱讀(236)

    關于銷售正能量的句子 1、沉默是一種溫柔,一種甜甜的愛心,一種東方的冰清玉潔的美麗;沉默是一種力度,一種堅韌,一種成竹在胸的自信和威儀。在回答某一具體問題時,沉默是你最好的回答。2、一個人吃的苦太少就長不大,一個人吃的苦太多就容易頹廢

    短句

    蹦迪語句

    閱讀(650)

    蹦迪朋友圈說說 1、有些是迪吧,人們可以蹦迪。年輕一些的人比較喜歡去那兒。 2、蹦迪蹦迪蹦迪,每天開心來蹦迪。壓力山大。偶爾蹦迪也好 。 3、所謂夜場呢 就是 一群老流氓

    短句

    mysqlfor語句

    閱讀(229)

    Navicat for MySQL怎樣執行SQL語句 首先,使用Navicat for MySQL連接數據庫并創建一個數據庫。接著點擊查詢,這里有兩個查詢,隨便點擊一個都可以。既然是要執行SQL語句,所以要先新建一個查詢窗體才得。這就是查詢編輯器,在這里就可

    短句

    循環語句for()

    閱讀(241)

    需要for循環語句的使用講解 只要指定條件為 true 都執行語句塊.for (initialization; test; increment)statements 參數initialization 必選項.一個表達式.該表達式只在執行循環前被執行一次.te

    短句

    sql查詢語句in

    閱讀(271)

    SQL語句中 in和exist區別 in 和 exists也是很好區別的.in 是一個集合運算符.a in {a,c,d,s,d。.}這個運算中,前面是一個元素,后面是一個集合,集合中的元素類型是和前面的元素

    短句

    sqlby查詢語句

    閱讀(300)

    SQL查詢語句,高手進--1、查詢“001”課程比“002”課程成績高的所有學生的學號;select Student.Sid from (select sid,score from SC where Cid='1') Student,(select Sid,

    短句

    循環語句for循環語句

    閱讀(215)

    需要for循環語句的使用講解 只要指定條件為 true 都執行語句塊.for (initialization; test; increment)statements 參數initialization 必選項.一個表達式.該表達式只在執行循環前被執行一次.te

    短句

    mysql語句as

    閱讀(221)

    請教一下mysql語句中的as怎么用 as 可理解為:用作、當成,作為;一般是重命名列名或者表名。(主要為了查詢方便) (1)如:表text, 列 column_1,column_2 你可以寫成 select column_1 as 列1,column_2

    短句

    mysql語句in

    閱讀(257)

    mysql查詢語句in和exists二者的區別和性能影響 如果查詢的兩個表大小相當,那么用in和exists差別不大。 如果兩個表中一個較小,一個是大表,則子查詢表大的用exists,子查詢表小

    短句

    sql查詢語句notin

    閱讀(301)

    sql語句not in 和not exist各自的用法和區別 in 和 exists也是很好區別的.in 是一個集合運算符.a in {a,c,d,s,d。.}這個運算中,前面是一個元素,后面是一個集合,集合中的元素類型是和前面的元素一樣的. 而exists

    短句

    mysqlinto語句

    閱讀(252)

    mysql insert into 語句能插入多少條 例如:INSERT INTO projektsVALUES (1,'outside house painting','Murphy'),(2,'kitchen remodel','Valdez'),(3,

    短句

    mysqlwith語句

    閱讀(279)

    SQL中使用WITH 語句的查詢 sql with as 用法(適用sqlserver,好像oracle也適用)Server 2005中提供了公用表表達式(CTE),使用CTE,可以使SQL語句的可維護性,同時,CTE要比表變量的效率高得多。 下面是CTE的

    短句

    sql查詢語句andor

    閱讀(249)

    SQL語句中 AND和OR的區別 區別1:and是與運算;or是或運算。區別2:and運算要前后兩個運算對象都為真是,and運算結果才為真;or運算是兩個運算對象中有一個為真,or運算結果就為真

    短句

    語句for

    閱讀(243)

    需要for循環語句的使用講解 只要指定條件為 true 都執行語句塊.for (initialization; test; increment)statements 參數initialization 必選項.一個表達式.該表達式只在執行循環前被執行一次.te

    短句

    銷售正能量的句子經典語句

    閱讀(236)

    關于銷售正能量的句子 1、沉默是一種溫柔,一種甜甜的愛心,一種東方的冰清玉潔的美麗;沉默是一種力度,一種堅韌,一種成竹在胸的自信和威儀。在回答某一具體問題時,沉默是你最好的回答。2、一個人吃的苦太少就長不大,一個人吃的苦太多就容易頹廢

    短句

    蹦迪語句

    閱讀(650)

    蹦迪朋友圈說說 1、有些是迪吧,人們可以蹦迪。年輕一些的人比較喜歡去那兒。 2、蹦迪蹦迪蹦迪,每天開心來蹦迪。壓力山大。偶爾蹦迪也好 。 3、所謂夜場呢 就是 一群老流氓

    短句

    python中if語句用法

    閱讀(268)

    python中if和for語句的使用 while是Python中的循環語句,if屬于條件選擇語句,而for in屬于迭代語句。while 用于重復執行操作,重復的條件不一定是特定的次數,只要條件滿足即可:12

    久久热在线视频