创建系统日志表的存储过程(CreateSystemLogTable)
-- ==============================================================
-- 类型: 存储过程
-- 名称: CreateSystemLogTable
-- 参数: 无
-- 作者: Dicky
-- 日期: 2009-1-8 9:48
-- 描述: 检查当前年中1-12月的系统日志表是否存在,不存在则创建,
-- 表名称如System_log_20091
System_log_200912。
-- ==============================================================
CREATE PROCEDURE [CreateSystemLogTable]
AS
BEGIN
DECLARE @tableName NVARCHAR(50)
DECLARE @createSql NVARCHAR(500)
DECLARE @i INT
SET @i = 1
WHILE @i <= 12 /*循环1-12个月*/
BEGIN
SET @tableName = 'System_log_' + LTRIM(YEAR(GETDATE())) + LTRIM(@i)
IF NOT EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[' + @tableName + ']') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
SET @createSql = '
CREATE TABLE [' + @tableName + '] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[userid] [int] NULL ,
[type] [nvarchar] (50) NULL ,
[context] [nvarchar] (50) NULL ,
[ip] [nvarchar] (50) NULL ,
[createDate] [nvarchar] (50) NULL
) ON [PRIMARY]
ALTER TABLE [' + @tableName + '] ADD
CONSTRAINT [DF_' + @tableName + '_createDate] DEFAULT (GETDATE()) FOR [createDate]'
EXEC(@createSql)
END
SET @i = @i + 1
End
END
-- 类型: 存储过程
-- 名称: CreateSystemLogTable
-- 参数: 无
-- 作者: Dicky
-- 日期: 2009-1-8 9:48
-- 描述: 检查当前年中1-12月的系统日志表是否存在,不存在则创建,
-- 表名称如System_log_20091

-- ==============================================================
CREATE PROCEDURE [CreateSystemLogTable]
AS
BEGIN
DECLARE @tableName NVARCHAR(50)
DECLARE @createSql NVARCHAR(500)
DECLARE @i INT
SET @i = 1
WHILE @i <= 12 /*循环1-12个月*/
BEGIN
SET @tableName = 'System_log_' + LTRIM(YEAR(GETDATE())) + LTRIM(@i)
IF NOT EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[' + @tableName + ']') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
SET @createSql = '
CREATE TABLE [' + @tableName + '] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[userid] [int] NULL ,
[type] [nvarchar] (50) NULL ,
[context] [nvarchar] (50) NULL ,
[ip] [nvarchar] (50) NULL ,
[createDate] [nvarchar] (50) NULL
) ON [PRIMARY]
ALTER TABLE [' + @tableName + '] ADD
CONSTRAINT [DF_' + @tableName + '_createDate] DEFAULT (GETDATE()) FOR [createDate]'
EXEC(@createSql)
END
SET @i = @i + 1
End
END
posted on 2009-01-08 11:32 ξσ Dicky σξ 阅读(710) 评论(0) 收藏 举报
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步