您的位置:首页 > 其它

创建系统日志表的存储过程(CreateSystemLogTable)

2009-01-08 12:29 417 查看
-- ==============================================================
-- 类型: 存储过程
-- 名称: 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: