广告
返回顶部
首页 > 资讯 > 数据库 >数据库中如何创建分区的SP和job
  • 473
分享到

数据库中如何创建分区的SP和job

2024-04-02 19:04:59 473人浏览 八月长安
摘要

小编给大家分享一下数据库中如何创建分区的SP和job,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 创建SP 点击(此处)折叠或打开 create procedure sp_

小编给大家分享一下数据库中如何创建分区的SP和job,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

  1. 创建SP

点击(此处)折叠或打开

  1. create procedure sp_maintain_partion_fg (

  2. @tableName varchar(50),

  3. @inputdate datetime

  4. )

  5. as begin

  6. declare

  7. @fileGroupName varchar(50),

  8. @ndfName varchar(50),

  9. @newNameStr varchar(50),

  10. @fullPath varchar(50),

  11. @newDay varchar(50),

  12. @oldDay datetime,

  13. @partFunName varchar(50),

  14. @schemeName varchar(50),

  15. @sqlstr varchar(1000),

  16. @sql1 varchar(4000)



  17. --set @tableName='DYDB'

  18. set @newDay=CONVERT(varchar(10),DATEADD(mm, DATEDIFF(mm,0,@inputdate), 0), 23 )--CONVERT(varchar(100), @inputdate, 23)--23:按天 114:按时间

  19. set @oldDay=cast(CONVERT(varchar(10),DATEADD(mm, DATEDIFF(mm,0,@inputdate)-1, 0), 112 ) as datetime)

  20. set @newNameStr=left(Replace(Replace(@newDay,':','_'),'-','_'),7)

  21. set @fileGroupName=N'G'+@newNameStr

  22. set @ndfName=N'F'+@newNameStr+''

  23. set @fullPath=N'F:\\SQLData\\ecodata\\'+@ndfName+'.ndf'

  24. set @partFunName=N'pf_Time'

  25. set @schemeName=N'ps_Time'



  26. --print @fullPath

  27. --print @fileGroupName

  28. --print @ndfName





  29. --创建文件组

  30. if exists(select * from sys.filegroups where name=@fileGroupName)

  31. begin

  32. print '文件组存在,不需添加'

  33. end

  34. else

  35. begin

  36. exec('ALTER DATABASE '+@tableName+' ADD FILEGROUP ['+@fileGroupName+']')

  37. --print 'exec '+('ALTER DATABASE '+@tableName+' ADD FILEGROUP ['+@fileGroupName+']')

  38. print '新增文件组'

  39. if exists(select * from sys.partition_schemes where name =@schemeName)

  40. begin

  41. exec('alter partition scheme '+@schemeName+'  next used ['+@fileGroupName+']')

  42. --print 'exec '+('alter partition scheme '+@schemeName+'  next used ['+@fileGroupName+']')

  43. print '修改分区方案'

  44. end



  45. print 'exec '+('alter partition scheme '+@schemeName+'  next used ['+@fileGroupName+']')

  46. print '修改分区方案'



  47. if exists(select * from sys.partition_range_values where function_id=(select function_id from

  48. sys.partition_functions where name =@partFunName) and value=@oldDay)

  49. begin

  50. exec('alter partition function  '+@partFunName+'() split range('''+@newDay+''')')

  51. --print 'exec '+('alter partition function  '+@partFunName+'() split range('''+@newDay+''')')

  52. print '修改分区函数'

  53. end

  54. end



  55. --创建NDF文件

  56. if exists(select * from sys.database_files where [state]=0 and (name=@ndfName or physical_name=@fullPath))

  57. begin

  58. print 'ndf文件存在,不需添加'

  59. end

  60. else

  61. begin

  62. exec('ALTER DATABASE '+@tableName+' ADD FILE (NAME ='+@ndfName+',FILENAME = '''+@fullPath+''')TO FILEGROUP ['+@fileGroupName+']')

  63. print 'ALTER DATABASE '+@tableName+' ADD FILE (NAME ='+@ndfName+',FILENAME = '''+@fullPath+''')TO FILEGROUP ['+@fileGroupName+']'



  64. print '新创建ndf文件'

  65. end

  66. --

  67. end





  68. ----分区函数

  69. --if exists(select * from sys.partition_functions where name =@partFunName)

  70. --begin

  71. --print '此处修改需要在修改分区函数之前执行'

  72. --end

  73. --else

  74. --begin

  75. --exec('CREATE PARTITION FUNCTION '+@partFunName+'(DateTime)AS RANGE RIGHT FOR VALUES ('''+@newDay+''')')

  76. ----print 'CREATE PARTITION FUNCTION '+@partFunName+'(DateTime)AS RANGE RIGHT FOR VALUES ('''+@newDay+''')'

  77. --print '新创建分区函数'

  78. --end

  79. ----分区方案

  80. --if exists(select * from sys.partition_schemes where name =@schemeName)

  81. --begin

  82. --print '此处修改需要在修改分区方案之前执行'

  83. --end

  84. --else

  85. --begin

  86. --exec('CREATE PARTITION SCHEME '+@schemeName+' AS PARTITION '+@partFunName+' TO (''PRIMARY'','''+@fileGroupName+''')')

  87. ----print ('CREATE PARTITION SCHEME '+@schemeName+' AS PARTITION '+@partFunName+' TO (''PRIMARY'','''+@fileGroupName+''')')

  88. --print '新创建分区方案'


2. 增加job

点击(此处)折叠或打开

  1. declare @date date

  2. set @date= DATEADD(mm,1,getdate())

  3. print @date

  4. exec sp_maintain_partion_fg 'ecodata',@date

看完了这篇文章,相信你对“数据库中如何创建分区的SP和job”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: 数据库中如何创建分区的SP和job

本文链接: https://www.lsjlt.com/news/64027.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库中如何创建分区的SP和job
    小编给大家分享一下数据库中如何创建分区的SP和job,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 创建SP 点击(此处)折叠或打开 create procedure sp_...
    99+
    2022-10-18
  • 数据库中如何自动创建分区函数并按月分区
    小编给大家分享一下数据库中如何自动创建分区函数并按月分区,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! declare  @tableName va...
    99+
    2022-10-18
  • MySQL数据库管理之如何创建分区表
    下面一起来了解下MySQL数据库管理之如何创建分区表,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL数据库管理之如何创建分区表这篇短内容是你想要的。      &n...
    99+
    2022-10-18
  • MySQL如何创建数据库和创建数据表
    本篇内容介绍了“MySQL如何创建数据库和创建数据表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • SQLServer数据库创建数据仓库已分区表的意思是什么
    这篇文章主要介绍“SQLServer数据库创建数据仓库已分区表的意思是什么”,在日常操作中,相信很多人在SQLServer数据库创建数据仓库已分区表的意思是什么问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2022-10-18
  • Oracle中如何创建数据库
    在Oracle中,可以使用CREATE DATABASE语句来创建一个数据库。下面是一个创建数据库的示例:CREATE DATABA...
    99+
    2023-09-28
    Oracle
  • 数据库中如何按时间及ID进行分区表创建事例
    小编给大家分享一下数据库中如何按时间及ID进行分区表创建事例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Oracle表分区优点:1、 增强可用性:如果表的一个分区由于系统故障而不能使用,...
    99+
    2022-10-18
  • 如何在数据库中创建表
    如何在数据库中创建数据表?这里以Mysql为例: 首先打开Mysql客户端. 方式一:通过SQL语句创建。 如创建一个学生表,包含学生编号、学生姓名、年龄、性别四个字段。 输入下面的SQL,然后点击运行,即可创建学生表。 create t...
    99+
    2023-08-31
    数据库 mysql
  • 在navicat中如何创建数据库
    这篇文章给大家分享的是有关在navicat中如何创建数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  使用navicat快速创建数据库,我们这以创建Mysql数据库为例,其...
    99+
    2022-10-18
  • AndoridSQLite数据库开发中如何创建SQLite数据库
    AndoridSQLite数据库开发中如何创建SQLite数据库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。AndoridSQLite数据库开发基础教程 创建SQL...
    99+
    2023-06-05
  • 如何创建一个创建MySQL数据库中的datetime类型
    目录一、domain用法及示例二、创建MySQL中datetime类型三、create type用法及示例环境系统平台:Microsoft Windows (64-bit) 10版本...
    99+
    2022-11-13
  • 数据库中如何创建ID和权限控制
    这篇文章将为大家详细讲解有关数据库中如何创建ID和权限控制,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 USE [master]GOCRE...
    99+
    2022-10-18
  • 数据库中如何修改分区表的数据
    这篇文章主要为大家展示了“数据库中如何修改分区表的数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中如何修改分区表的数据”这篇文章吧。  需求...
    99+
    2022-10-18
  • 数据库中如何查看哪个SP调用了对应的表
    这篇文章主要为大家展示了“数据库中如何查看哪个SP调用了对应的表”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中如何查看哪个SP调用了对应的表”这篇文章吧...
    99+
    2022-10-18
  • 数据库中分区表如何删除分区、分区对应的tablespace、datafile
    这篇文章给大家分享的是有关数据库中分区表如何删除分区、分区对应的tablespace、datafile的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 ...
    99+
    2022-10-18
  • 如何在阿里云数据库中创建新库?
    本文主要介绍了如何在阿里云数据库中创建新库。首先,我们需要登录阿里云数据库管理平台,然后选择需要创建新库的数据库实例。接着,我们可以在数据库实例中创建新的数据库,也可以在已有的数据库中创建新的数据库。最后,我们需要设置数据库的参数,以确保数...
    99+
    2023-11-22
    阿里 建新 中创
  • 如何实现MySQL中创建数据库的语句?
    标题:MySQL中创建数据库的语句及代码示例在MySQL中,创建数据库是非常重要的一项操作,它为我们提供了存储和管理数据的基础。本文将详细介绍如何在MySQL中使用SQL语句创建数据库,包括具体的代码示例。MySQL是一种流行的关系型数据库...
    99+
    2023-11-08
    数据库 创建 关键词:MySQL
  • 在MongoDB中创建和删除数据库的方法
    小编给大家分享一下在MongoDB中创建和删除数据库的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!1、在MongoDB中创建数据库列出数据库:首先检查系统中的当前数据库。首先我们应该知道...
    99+
    2022-10-18
  • 在MySQL中创建和删除数据库的方法
    在MySQL中创建和删除数据库的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧! MySQL是最受欢迎的Web...
    99+
    2022-10-18
  • PostgreSQL中如何使用create database创建数据库
    这篇文章将为大家详细讲解有关PostgreSQL中如何使用create database创建数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、create database语法格式CREATE&nb...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作