mysql存儲過程delete
很明顯,你這個存儲過程是SQL Server的語法,不是MySQL的,兩者之間語法差異挺大。過程類似於如下:
create procere addUser(
username nvarchar(20),
password nvarchar(20),
OUT isSuccess int)
BEGIN
........
END
B. mysql 存儲過程總結(一)
1、存儲過程定義:
存儲過程是事先經過編譯並存儲在資料庫中的一段 SQL 語句的集合,調用存儲過程可以簡化應用開發 人員的很多工作,減少數據在資料庫和應用伺服器之間的傳輸,對於提高數據處理的效率是有好處的。 存儲過程思想上很簡單,就是資料庫 SQL 語言層面的代碼封裝與重用。
2、特點:
封裝,復用 : 可以把某一業務SQL封裝在存儲過程中,需要用到 的時候直接調用即可。
可以接收參數,也可以返回數據 :再存儲過程中,可以傳遞參數,也可以接收返回 值。
減少網路交互,效率提升 : 如果涉及到多條SQL,每執行一次都是一次網路傳 輸。 而如果封裝在存儲過程中,我們只需要網路交互一次可能就可以了。
3、基本語法
(1)創建:
(2)調用:
(3)查看:
(4)刪除
注意: 在命令行中,執行創建存儲過程的SQL時,需要通過關鍵字 delimiter 指定SQL語句的 結束符。
C. Mysql表通過存儲過程刪除生產表數據
在建設實時數倉的過程中,用到了Mysql存放增量的結果數據,所以需要定時清理歷史數據,為了避免影響的線上的實時數據寫入,採用了按照最後更改時間,分段刪除的方法。對應的存儲過程如下:
D. mysql 瀛樺偍榪囩▼ 璇娉
mysql涓瀛樺偍榪囩▼鐨勮娉曟槸浠涔堝憿錛熶笉鐭ラ亾鐨勫皬浼欎即鏉ョ湅鐪嬪皬緙栦粖澶╃殑鍒嗕韓鍚!
mysql涓瀛樺偍榪囩▼鐨勫叧閿璇娉曞備笅錛
1銆佸0鏄庤鍙ョ粨鏉熺︼紝鍙浠ヨ嚜瀹氫箟錛
DELIMITER $$
鎴
DELIMITER //
2銆佸0鏄庡瓨鍌ㄨ繃紼嬶細
CREATE PROCEDURE demo_in_parameter(IN p_in int)
3銆佸瓨鍌ㄨ繃紼嬪紑濮嬪拰緇撴潫絎﹀彿錛
BEGIN .... END
4銆佸彉閲忚祴鍊礆細
SET @p_in=1
5銆佸彉閲忓畾涔夛細
DECLARE l_int int unsigned default 4000000;
6銆佸壋寤簃ysql瀛樺偍榪囩▼銆佸瓨鍌ㄥ嚱鏁幫細
create procere 瀛樺偍榪囩▼鍚(鍙傛暟)
7銆佸瓨鍌ㄨ繃紼嬩綋錛
create function 瀛樺偍鍑芥暟鍚(鍙傛暟)
鎷撳睍璧勬枡錛
MySQL
MySQL鏄涓涓鍏崇郴鍨嬫暟鎹搴撶$悊緋葷粺錛岀敱鐟炲吀MySQL AB鍏鍙稿紑鍙戱紝灞炰簬Oracle鏃椾笅浜у搧銆侻ySQL 鏄鏈嫻佽岀殑鍏崇郴鍨嬫暟鎹搴撶$悊緋葷粺涔嬩竴錛屽湪WEB搴旂敤鏂歸潰錛孧ySQL鏄鏈濂界殑RDBMS(Relational Database Management System錛屽叧緋繪暟鎹搴撶$悊緋葷粺) 搴旂敤杞浠朵箣涓銆
MySQL鏄涓縐嶅叧緋誨瀷鏁版嵁搴撶$悊緋葷粺錛屽叧緋繪暟鎹搴撳皢鏁版嵁淇濆瓨鍦ㄤ笉鍚岀殑琛ㄤ腑錛岃屼笉鏄灝嗘墍鏈夋暟鎹鏀懼湪涓涓澶т粨搴撳唴錛岃繖鏍峰氨澧炲姞浜嗛熷害騫舵彁楂樹簡鐏墊椿鎬с
MySQL鎵浣跨敤鐨 SQL 璇璦鏄鐢ㄤ簬璁塊棶鏁版嵁搴撶殑鏈甯哥敤鏍囧噯鍖栬璦銆侻ySQL 杞浠墮噰鐢ㄤ簡鍙屾巿鏉冩斂絳栵紝鍒嗕負紺懼尯鐗堝拰鍟嗕笟鐗堬紝鐢變簬鍏朵綋縐灝忋侀熷害蹇銆佹諱綋鎷ユ湁鎴愭湰浣庯紝灝ゅ叾鏄寮鏀炬簮鐮佽繖涓鐗圭偣錛屼竴鑸涓灝忓瀷緗戠珯鐨勫紑鍙戦兘閫夋嫨 MySQL 浣滀負緗戠珯鏁版嵁搴撱
MySQL涓鐨
瀛樺偍榪囩▼
瀛樺偍榪囩▼鏄涓縐嶅湪鏁版嵁搴撲腑瀛樺偍澶嶆潅紼嬪簭錛屼互渚垮栭儴紼嬪簭璋冪敤鐨勪竴縐嶆暟鎹搴撳硅薄銆
瀛樺偍榪囩▼鏄涓轟簡瀹屾垚鐗瑰畾鍔熻兘鐨凷QL璇鍙ラ泦錛岀粡緙栬瘧鍒涘緩騫朵繚瀛樺湪鏁版嵁搴撲腑錛岀敤鎴峰彲閫氳繃鎸囧畾瀛樺偍榪囩▼鐨勫悕瀛楀苟緇欏畾鍙傛暟(闇瑕佹椂)鏉ヨ皟鐢ㄦ墽琛屻
瀛樺偍榪囩▼鎬濇兂涓婂緢綆鍗曪紝灝辨槸鏁版嵁搴 SQL 璇璦灞傞潰鐨勪唬鐮佸皝瑁呬笌閲嶇敤銆
瀛樺偍榪囩▼浼樼偣
瀛樺偍榪囩▼鍙灝佽咃紝騫墮殣鈃忓嶆潅鐨勫晢涓氶昏緫銆
瀛樺偍榪囩▼鍙浠ュ洖浼犲礆紝騫跺彲浠ユ帴鍙楀弬鏁般
瀛樺偍榪囩▼鏃犳硶浣跨敤 SELECT 鎸囦護鏉ヨ繍琛岋紝鍥犱負瀹冩槸瀛愮▼搴忥紝涓庢煡鐪嬭〃錛屾暟鎹琛ㄦ垨鐢ㄦ埛瀹氫箟鍑芥暟涓嶅悓銆
瀛樺偍榪囩▼鍙浠ョ敤鍦ㄦ暟鎹媯楠岋紝寮哄埗瀹炶屽晢涓氶昏緫絳夈
瀛樺偍榪囩▼緙虹偣
瀛樺偍榪囩▼錛屽線寰瀹氬埗鍖栦簬鐗瑰畾鐨勬暟鎹搴撲笂錛屽洜涓烘敮鎸佺殑緙栫▼璇璦涓嶅悓銆傚綋鍒囨崲鍒板叾浠栧巶鍟嗙殑鏁版嵁搴撶郴緇熸椂錛岄渶瑕侀噸鍐欏師鏈夌殑瀛樺偍榪囩▼銆
瀛樺偍榪囩▼鐨勬ц兘璋冩牎涓庢挵鍐欙紝鍙楅檺浜庡悇縐嶆暟鎹搴撶郴緇熴
瀛樺偍榪囩▼鐨勫壋寤哄拰璋冪敤錛
瀛樺偍榪囩▼灝辨槸鍏鋒湁鍚嶅瓧鐨勪竴孌典唬鐮侊紝鐢ㄦ潵瀹屾垚涓涓鐗瑰畾鐨勫姛鑳姐
鍒涘緩鐨勫瓨鍌ㄨ繃紼嬩繚瀛樺湪鏁版嵁搴撶殑鏁版嵁瀛楀吀涓銆
E. 在MySQL中,刪除存儲過程使用的是DELETE語句
刪除的語句是drop
所以選錯應該
F. 在mysql的存儲過程中使用刪除,本來想刪除一條記錄,結果把所有的記錄都刪了
你這個語句肯定是把所有的刪除:
delete from users where id=id
記住,頌散塵變數、野禪參數掘鋒不要和列名相同