仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 835|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之让数据库发生一张具体的日历表

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:32:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有了rowbase的binlog后,我们来分析一下怎么实现闪回。平时的DML无非三种操作,增删改,先说三种操作的日志格式。日历|数据|数据库
让数据库发生一张具体的日历表

大概有了这张表,你的事情会轻松良多!

CREATETABLE[dbo].[time_dimension](
[time_id][int]IDENTITY(1,1)NOTNULL,
[the_date][datetime]NULL,
[the_day][nvarchar](15)NULL,
[the_month][nvarchar](15)NULL,
[the_year][smallint]NULL,
[day_of_month][smallint]NULL,
[week_of_year][smallint]NULL,
[month_of_year][smallint]NULL,
[quarter][nvarchar](2)NULL,
[fiscal_period][nvarchar](20)NULL
)ON[PRIMARY]


DECLARE@WeekStringvarchar(12),
@dDateSMALLDATETIME,
@sMonthvarchar(20),
@iYearsmallint,
@iDayOfMonthsmallint,
@iWeekOfYearsmallint,
@iMonthOfYearsmallint,
@sQuartervarchar(2),
@sSQLvarchar(100),
@adddaysint

SELECT@adddays=1--日期增量(能够自在设定)
SELECT@dDate=01/01/2002--入手下手日期

WHILE@dDate<12/31/2004--停止日期
BEGIN

SELECT@WeekString=DATENAME(dw,@dDate)
SELECT@sMonth=DATENAME(mm,@dDate)
SELECT@iYear=DATENAME(yy,@dDate)
SELECT@iDayOfMonth=DATENAME(dd,@dDate)
SELECT@iWeekOfYear=DATENAME(week,@dDate)
SELECT@iMonthOfYear=DATEPART(month,@dDate)
SELECT@sQuarter=Q+CAST(DATENAME(quarter,@dDate)asvarchar(1))

INSERTINTOtime_dimension(the_date,the_day,the_month,the_year,
day_of_month,
week_of_year,month_of_year,quarter)VALUES
(@dDate,@WeekString,@sMonth,@iYear,@iDayOfMonth,@iWeekOfYear,
@iMonthOfYear,@sQuarter)
SELECT@dDate=@dDate+@adddays
END
GO

select*fromtime_dimension

MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQLAB创始人之一的的女儿也叫My。
若天明 该用户已被删除
沙发
发表于 2015-1-19 16:17:32 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
柔情似水 该用户已被删除
板凳
发表于 2015-1-26 12:50:30 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
只想知道 该用户已被删除
地板
 楼主| 发表于 2015-2-4 15:17:39 | 只看该作者
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
小魔女 该用户已被删除
5#
发表于 2015-2-10 02:50:00 | 只看该作者
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-3-10 03:44:03 | 只看该作者
呵呵,这就是偶想说的
兰色精灵 该用户已被删除
7#
发表于 2015-3-17 04:12:09 | 只看该作者
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
admin 该用户已被删除
8#
发表于 2015-3-23 19:31:05 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-21 17:07

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表