新建存儲(chǔ)過(guò)程為什么要加delimiter $$
SQL中,delimiter命令的作用是定義sql語(yǔ)句的分隔符
sql中默認(rèn)的語(yǔ)句分隔符是分號(hào)(分號(hào)后面的當(dāng)成下一條語(yǔ)句)
寫存儲(chǔ)過(guò)程或函數(shù)等語(yǔ)句塊時(shí),中間會(huì)包含分號(hào),所以語(yǔ)句塊不能成為一個(gè)整體,執(zhí)行的時(shí)候就會(huì)報(bào)錯(cuò)
所以,執(zhí)行這樣的語(yǔ)句塊時(shí),先用delimiter定義其他的符號(hào)作為分隔符,執(zhí)行完語(yǔ)句塊后再用delimiter ;恢復(fù)成系統(tǒng)默認(rèn)的
例子:
delimiter $$
create procedure test_pro()
begin
select * from user_info;
end $$
##上面這幾條選中一起執(zhí)行,后面這條單獨(dú)執(zhí)行(后面這條好像不執(zhí)行也可以)
delimiter ;

浙公網(wǎng)安備 33010602011771號(hào)