社区
MS-SQL Server
帖子详情
如何动态确定要建立的表的表名?
syq8107
2003-10-16 04:51:19
我想要一个程序自动建立表,比如以当月来命名这个表,即2003年10月建立一个表,表名为200310,到了11月份程序就会自动建立另一个表名为200311的表?如何实现动态确定表名呢?
...全文
66
4
打赏
收藏
如何动态确定要建立的表的表名?
我想要一个程序自动建立表,比如以当月来命名这个表,即2003年10月建立一个表,表名为200310,到了11月份程序就会自动建立另一个表名为200311的表?如何实现动态确定表名呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjcxc
元老
2003-10-16
打赏
举报
回复
--用作业就行了:
--创建自动创建表的存储过程
create proc p_createtb
as
declare @sql varchar(8000)
set @sql='create table '
+convert(varchar(6),getdate(),112)+'(col1 int)'
exec(@sql)
go
--创建作业
exec msdb..sp_add_job @job_name='按月自动创建表的数据处理'
--创建作业步骤
declare @sql varchar(8000) --数据处理命令
declare @dbname varchar(250)
select @sql='p_createtb'
,@dbname=db_name()
exec msdb..sp_add_jobstep @job_name='按月自动创建表的数据处理',
@step_name = '数据处理',
@subsystem = 'TSQL',
@database_name=@dbname,
@command = @sql,
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔
--创建调度
EXEC msdb..sp_add_jobschedule @job_name = '按月自动创建表的数据处理',
@name = '时间安排',
@freq_type = 16, --每天,8 每周,16 每月
@freq_interval = 1,
@active_start_time = 17000 --下午17:00:00分执行
yujohny
2003-10-16
打赏
举报
回复
declare @tablename nvarchar(6)
set @tablename=cast(year(getdate() as nvarchar)+
right('0'+cast(month(getdate()) as nvarchar),2)
exec('create table '+@tablename+'(col1 int,col2,int)')
pengdali
2003-10-16
打赏
举报
回复
你的数据库服务器-》企业管理器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行
pengdali
2003-10-16
打赏
举报
回复
declare @a char(6)
set @a=convert(char(6),getdate(),112)
exec('create table ['+@a+'] (a int)')
数据库编程规范
1.1. 建
表
准则
建立
数据库
表
必须通过DBA完成:
l 每张
表
必须有一个主键。
l 由设计人员提供建
表
的语句。
l 由设计人员提供
表
名
及字段的中文注释。
l 由DBA与设计人员加入物理存储参数。
l 由DBA
确定
数据
表
空间及索引
表
空间的分配。
l 如果一个
表
的字段引用其它
表
的字段,必须加入外键约束。
l DBA必须清楚每一个字段的含意。
是否有外键
是否可以为空null
1.2. 注意事项
l 索引
每一张
表
必须有一个主键 <
表
名
>_pk
若干外键索引 <
表
名
>_fk_<数字>
若干其它索引 <
表
名
>_<数字>
l 数据类型
定义合适的数据类型,注意 例如:
amount number(9,2)
表
示一供可以存放9个数字,其中小数点后有2位。
2. 数据库
表
的命名
l
表
名
的长度最多20个字符(需然oracle允许最大30个字符)。
l
表
名
只能用字母数字及下划线。
l
表
名
的命名规则
TAB_ 业务
表
,一般会记录业务发生的信息。
TABF_ 值
表
,只有两个字段, 此类
表
不经常变化。用于应用程序的变量取值
TMP_ 临时
表
日志
表
日志
表
以_log结尾,一般志
表
可以有一段时间之后,进程备份,删除其中一些时间较长的数据。
周期备份
表
6. TABY_字符串_YYMM:每年清空的周期
表
。YY
建立
年份,MM清除的月份。
7. TABM_字符串_MMDD:每月清空的周期
表
。MM
建立
月份,DD清除的日期。
8. TABW_字符串_MMWD:每周清空的周期
表
。MM
建立
月份,清除的周(1-4)及天(1-7)。
9. TABD_字符串_DDHH:每天清空的周期
表
。DD
建立
日期,清除的时间(01-24)。
12. 字符串_BAK:数据备份
表
(应用程序不得使用
hibernate
动态
表
名
映射
在实际的项目应用中,有时会设计出这样的一种数据
表
,每个时间段产生一个新
表
,例如是按年或月或日。相同类型的
表
中,所有的字段结构都是一样的。而 hibernate 提供的类与
表
的映射,是只能映射到一个具体
表
的,在程序的运行过程中,很难去
动态
修改一个 hbm 对应的
表
名
。我在网上也有看到一实现,但是很复杂,并且不符合我的要求。 因此我就想到直接用 jdbc 去操作数据库,这样的做法是绕过 hibe
大数据架构师硬实战之基于Presto搭建企业级数据平台
课程围绕presto介绍如何搭建企业级的数据平台。内容包括presto账号权限体系构建,可视化平台整合,从零开始在k8s上部署Presto集群,以及基于OSS低成本搭建数仓等等。本课程内容来自于真实的生产环境,并对生产环境...
多
表
连接(join)
通过连接运算符可以实现多个
表
查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,
表
建立
时各数据之间的关系不必
确定
,常把一个实体的所有信息存放在一个
表
中。当检索数据时,通过连接操作查询出存放在多个
表
中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的
表
,尔后通过连接进行查询。 连接
sql语句中
表
格缩写命名_数据库
表
字段命名规范
摘要:当前研发工作中经常出现因数据库
表
、数据库
表
字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库
表
时,也会因为数据库
表
的可读性不够高,
表
字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库
表
字段命名规范来解决优化这些问题。本文是一篇包含了数据库命名、数据库
表
命名、数据库
表
字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修...
MS-SQL Server
34,576
社区成员
254,587
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章