您的位置:首页 > 数据库 > MySQL

【数据库】mysql和sql server写存储过程学到的一些知识

2016-11-18 15:58 465 查看
MYSQL
 
SQL SERVER
 
存储过程
create
CREATE PROCEDURE DmaReportYearly
(IN today datetime,IN partition_id INT (11))
 COMMENT ''
BEGIN
end
1参数被小括号包裹
2参数前声明是in或者out
3 int类型可声明长度
4可加comment注释
CREATE PROCEDURE DmaReportDaily @today datetime2,
 @partition_id INT AS
BEGIN
1参数不用括号
2参数必须加@
3 int类型不能写长度
4 begin之前必须加as
5一个存储过程内的分号可以不写
 
drop
drop procedure if exists
 
 if exists不可用
 
ID自增
create
AUTO_INCREMENT
 
identity(1,1)
标识的概念代替了自增
 
 
 
 
不可通过alter修改为自增
先删除主键约束,删除字段,再重新创建字段
游标
读取
fetch mycursor into myvar
 
fetch next from mycursor into myvar
 
 
判断状态
declare cotinue handler for not found ....
声明handler处理
@@fetch_status
全局变量判断
日期
增加
date_add(mydate,
interval 1 DAY)
interval关键字
dateadd(DAY,1,mydate)
 
 

date_sub或者用负数
 
用负数
 
 
格式化
DATE_FORMAT(mydate,
'%Y%m%d')
 
DATENAME(year,
mydate)返回nvarchar,MONTH等函数返回数字
数字类型不能用于拼接,需要cast(num as nvarchar)
if
 
if then
elseif then
else
end if
 
if begin end
else begin end
 
while
 
while do
 end while
 
while begin end
 
存储过程调用
 
call XX(var1,var2)
 
exec/execute XX var1,var2
 
函数
 
可以内嵌其他函数
 
貌似不允许
 
 

join必须接on表示连接关系,无关系直接通过select放到查询字段中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐