最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MYSQL批量插入數(shù)據(jù)的實現(xiàn)代碼第3/3頁

 更新時間:2008年10月11日 22:43:05   作者:  
非常的實現(xiàn)原理,代碼較多,建議大家仔細(xì)看看。

也可以給區(qū)塊起別名,如:
lable:begin
...........
end lable;
可以用leave lable;跳出區(qū)塊,執(zhí)行區(qū)塊以后的代碼
2.條件語句
if 條件 then
statement
else
statement
end if;
3.循環(huán)語句
(1).while循環(huán)
[label:] WHILE expression DO
statements
END WHILE [label] ;
(2).loop循環(huán)
[label:] LOOP
statements
END LOOP [label];
(3).repeat until循環(huán)
[label:] REPEAT
statements
UNTIL expression
END REPEAT [label] ;
五.其他常用命令
1.show procedure status
顯示數(shù)據(jù)庫中所有存儲的存儲過程基本信息,包括所屬數(shù)據(jù)庫,存儲過程名稱,創(chuàng)建時間等
2.show create procedure sp_name
存儲過程創(chuàng)建語法:
CREATE PROCEDURE procedure_name ([parameter[,...])
[LANGUAGE SQL]
[ [NOT] DETERMINISTIC ]
[{CONTAINS SQL|MODIFIES SQL DATA|READS SQL DATA|NO SQL}]
[SQL SECURITY {DEFINER|INVOKER} ]
[COMMENT comment_string]
procedure_statements
可用SHOW PROCEDURE STATUS 或 SHOW CREATE PROCEDURE 來查看存儲過程信息
另,系統(tǒng)表INFORMATION_SCHEMA.ROUTINES也包含了存儲過程的一些信息
同樣地,函數(shù)也可以使用同樣方式查看(SHOW FUNCTION STATUS)
函數(shù)的創(chuàng)建
CREATE FUNCTION function_name (parameter[,...])
RETURNS datatype
[LANGUAGE SQL]
[ [NOT] DETERMINISTIC ]
[ {CONTAINS SQL | NO SQL | MODIFIES SQL DATA | READS SQL DATA} ]
[ SQL SECURITY {DEFINER|INVOKER} ]
[ COMMENT comment_string ]
語句體
函數(shù)與存儲過程基本一樣,其區(qū)別主要有:
1、 要使用RETURNS指定返回類型
2、 函數(shù)必須返回值,且在語句體中使用RETURN返回(注意:指定返回類型用RETURNS,返回值用RETURN)
3、 參數(shù)不區(qū)分IN,OUT,全部為IN類形
例:
CREATE FUNCTION cust_status(in_status CHAR(1))
RETURNS VARCHAR(20)
BEGIN
DECLARE long_status VARCHAR(20);
IF in_status = 'O' THEN SET long_status='Overdue';
ELSEIF in_status = 'U' THEN SET long_status='Up to date';
ELSEIF in_status = 'N' THEN SET long_status='New';
END IF;
RETURN(long_status);
END;
調(diào)用:
SELECT cust_status('O');
觸發(fā)器
CREATE [DEFINER={user|CURRENT_USER}] TRIGGER trigger_name
{BEFORE|AFTER} {UPDATE|INSERT|DELETE}
ON table_name
FOR EACH ROW
trigger_statements
意義:當(dāng)對表table_name執(zhí)行update,insert,delete操作之前(before)或之后(after)時觸發(fā)語句trigger_statements操作
例:
mysql> CREATE TRIGGER account_balance_au
AFTER UPDATE ON account_balance FOR EACH ROW
BEGIN
DECLARE dummy INT;
IF NEW.balance<0 THEN
SET NEW.balance=NULL;
END IF;
END
上述觸發(fā)器表示:當(dāng)更新表account_balance之后,如果更新的值balance小于0,則將它改為NULL,
注:如果為OLD.balance則表示更新前的原值

相關(guān)文章

最新評論

怀仁县| 汕尾市| 莱芜市| 阳信县| 项城市| 闽侯县| 马龙县| 山阴县| 历史| 正宁县| 紫金县| 凌云县| 大丰市| 溧水县| 泸西县| 南溪县| 屏东县| 合阳县| 门源| 万安县| 巩留县| 略阳县| 宣武区| 银川市| 观塘区| 靖安县| 运城市| 通榆县| 宁阳县| 林周县| 嘉荫县| 教育| 陆川县| 九龙坡区| 故城县| 千阳县| 汉中市| 济宁市| 西和县| 阿克苏市| 永吉县|