型的存储过程及使用方法——创建表结构

问题描述

输入要生成日历年份,通过调用存储过程,即可生成该年份的所有日历。

创建表结构

我们在普通日历表的基础上创建一个包含年、月、日、周的日历表。 具体表结构如下:

TABLE ( (5),--'国家' (5),--'日历代码' (20),--'日期名称' YEAR CHAR(4),--'年份' MONTH CHAR(2),-- '月' WEEK CHAR(6),--'周' DAY CHAR(2),--'日' CHAR(10),--'日历日期' (32),--'创建者',--'创建date' (20),--'创建组织' CHAR(1) 0,--'删除标志' 0:未删除,1:已删除 TS ()--'时间戳' )

日历表2024日历农历查询_日历表2024_日历表

(提示:代码可以左右滑动)

在上面的表结构中,我们以日历的形式将年、月、周、日等显示为单独的列。 最后添加两个默认值。 一是删除标志。 默认为0,表示不删除,1,表示删除。 ,时间戳是系统时间。

创建存储过程

调用参数,一般使用存储过程来传递参数。 接下来我们根据需要创建一个存储过程。

我们给存储过程传递一个INT类型的参数,表示年份,然后取出一年中的天数,从1月1日循环到12月31日,将每一天的相关信息插入到表中,这样就得到了一个完整的日历整个一年就完成了。 \

让我们开始在 SQL 环境中编写这个存储过程。

` PROC (@YEAR INT ) @i INT; @(20); @(20); @INT; 设置@i=0; --定义年份的开始日期,并使用函数连接年月日期 SET @ = (@YEAR, '-01-01');--定义年份的结束日期 SET @ = (@ YEAR+1,'-01-01');--如果表中已经存在要创建的日历,则先删除 FROM WHERE YEAR = @YEAR;--计算从开始到结束的总天数日期,该函数计算日期之间的天数 SET @ = (DAY,@,@);

--建立循环,条件是@i小于一年中的天数 WHILE @i < @BEGIN INTO (,,,YEAR,MONTH,WEEK,DAY,,,,) 'CN', ' CN01', --函数将@转换为指定格式 (CHAR(10),@,111), --获取@(CHAR(4),(YEAR, @))的年份 YEAR, --获取@(CHAR(2),(MONTH) , @)) MONTH, --获取@的月份 (CHAR(6),(, @)) WEEK, --获取@的日期 (CHAR(2) ,(DAY, @)) DAY, (CHAR(10) ,@,120) , '平凡的世界', () , 'Lyven' --插入完成后,@i加1 SET @i=@i +1; --更新原来@的值 基本都是用函数添加一天 SET @=(CHAR(10),(DAY, 1, @),120); `

每行代码上方都添加了注释,以便于阅读。 如果您对SQL系统函数不熟悉,可以搜索相关函数的用法。

调用存储过程

日历表2024_日历表2024日历农历查询_日历表

执行2024

验证结果

执行后我们查询表中的数据

* 从

结果:

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender