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
记住,颂散尘变量、野禅参数掘锋不要和列名相同