MSSQL教程之创立功课的通用存储历程
EXAMPLE存储引擎是一个不做任何事情的存根引擎。它的目的是作为MySQL源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE存储引擎不支持编索引。创立|存储历程ifexists(select*fromdbo.sysobjectswhereid=object_id(N.)andOBJECTPROPERTY(id,NIsProcedure)=1)dropprocedure.GO
/*--准时挪用存储历程
创立一个在指准时间,挪用指定存储历程的功课功课实行完成后会主动删除
--邹建2004.07--*/
/*--挪用示例
execp_JobSetmaster.dbo.xp_cmdshell,2004-1-110:30--*/createprocp_JobSet@prorcnamesysname,--要挪用准时挪用的存储历程名,假如不在以后库中,则用:库名.一切者名.存储历程名@job_datedatetime--存储历程的实行工夫(包含工夫信息)asdeclare@dbnamesysname,@jobnamesysname,@dateint,@timeint
select@jobname=准时发送功课_+cast(newid()asvarchar(36)),@date=convert(varchar,@job_date,112),@time=replace(convert(varchar,@job_date,108),:,)
ifexists(select1frommsdb..sysjobswherename=@jobname)execmsdb..sp_delete_job@job_name=@jobname
--创立功课execmsdb..sp_add_job@job_name=@jobname,@delete_level=1
--创立功课步骤declare@sqlvarchar(800)select@sql=exec+@prorcname,@dbname=db_name()
execmsdb..sp_add_jobstep@job_name=@jobname,@step_name=发送处置步骤,@subsystem=TSQL,@database_name=@dbname,@command=@sql,@retry_attempts=5,--重试次数@retry_interval=5--重试距离
--创立调剂EXECmsdb..sp_add_jobschedule@job_name=@jobname,@name=工夫布置,@enabled=1,@freq_type=1,@active_start_date=@date,@active_start_time=@time
--增加方针服务器EXECmsdb.dbo.sp_add_jobserver@job_name=@jobname,@server_name=N(local)go
在ORDERBY操作中,MySQL只有在排序条件不是一个查询条件表达式的情况下才使用索引。(虽然如此,在涉及多个数据表查询里,即使有索引可用,那些索引在加快ORDERBY方面也没什么作用)。 如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。 理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识 可以动态传入参数,省却了动态SQL的拼写。 外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。 数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。 sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西 外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
页:
[1]