社区
MS-SQL Server
帖子详情
如何动态确定要建立的表的表名?
syq8107
2003-10-16 04:51:19
我想要一个程序自动建立表,比如以当月来命名这个表,即2003年10月建立一个表,表名为200310,到了11月份程序就会自动建立另一个表名为200311的表?如何实现动态确定表名呢?
...全文
74
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
MySQL 数据库的基本操作(数据完整性约束)
Re:MySQL 数据库的基本操作(数据完整性约束)========================================# 数据库的基本操作 创建 删除 数据库、创建 删除
表
修改
表
名
数据类型 字段名 添加字段 删除 字段 调整字段位置 更换存储引擎 删除外键 删除 数据
表
包括被关联父
表
# 数据完整性六项约束 主键约束(PRIMARY KEY) 自增约束(AUTO_INCREMENT PRIMARY KEY) 唯一约束(UNIQUE) 默认约束(DEFAULT) 非空约束(NOT NULL) 外键约束(FOREIGN KEY)-----------------------------------------
mysql中数据
表
名
命名规则_数据库
表
的命名规范
1.
表
名
一般以【模块名称_详细
表
名
】来实现,同一个模块的前缀是一样的。(Oracle大写和小写敏感。在SQL中能够不用"_",由于能够用大写和小写一起的写法。这也是能够的)2.
表
名
称不应该取得太长(一般不超过三个英文单词。不推荐使用中文拼音,总的长度不要超过30个字符)。
表
名
使用英文的原因,有些项目有英文版的须要。或者这个项目是给外国做的时候,使用英文是主要的要求。应该说这是一个习惯问题,多学一点...
sql语句中
表
格缩写命名_数据库
表
字段命名规范
摘要:当前研发工作中经常出现因数据库
表
、数据库
表
字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库
表
时,也会因为数据库
表
的可读性不够高,
表
字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库
表
字段命名规范来解决优化这些问题。本文是一篇包含了数据库命名、数据库
表
命名、数据库
表
字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修...
MS-SQL Server
34,594
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章