Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

123下一頁(yè)
返回列表 發(fā)新帖
查看: 10361|回復(fù): 27
打印 上一主題 下一主題

一個(gè)用戶管理的數(shù)據(jù)庫(kù)腳本(完整版)

[復(fù)制鏈接]

點(diǎn)擊這里給我發(fā)消息

跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2012-2-14 22:57:29 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式













腳本見(jiàn)下面。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x

本帖被以下淘專輯推薦:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享分享 分享淘帖2 訂閱訂閱

點(diǎn)擊這里給我發(fā)消息

2#
 樓主| 發(fā)表于 2012-2-14 22:58:29 | 只看該作者
數(shù)據(jù)庫(kù)和表
  1. /*************************************************
  2. --- 創(chuàng)建 [Person] 數(shù)據(jù)庫(kù)
  3. --- 日期:2011-02-14
  4. **************************************************/
  5. USE [master]
  6. GO

  7. IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'Person')
  8. DROP DATABASE [Person]
  9. GO

  10. CREATE DATABASE [Person] ON
  11. (
  12.         NAME = N'Person',
  13.         FILENAME = N'D:\DB\Person\Person.mdf',
  14.         SIZE = 1024KB,
  15.         MAXSIZE = UNLIMITED,
  16.         FILEGROWTH = 1024KB
  17. )
  18. LOG ON
  19. (
  20.         NAME = N'Person_log',
  21.         FILENAME = N'D:\DB\Person\Person_log.ldf',
  22.         SIZE = 1024KB,
  23.         MAXSIZE = UNLIMITED,
  24.         FILEGROWTH = 1024KB
  25. )
  26. GO

  27. USE [Person]
  28. GO


  29. /*************************************************
  30. --- 創(chuàng)建表
  31. **************************************************/
  32. GO

  33. --------------------------------------------------
  34. --- 表  :USysVersion
  35. --- 用途:用戶管理數(shù)據(jù)庫(kù)版本
  36. --------------------------------------------------
  37. CREATE TABLE [dbo].[USysVersion](
  38.         [ID]                        [int] IDENTITY(1,1) NOT NULL,
  39.         [DBSystem]                [varchar](50) NOT NULL,
  40.         [Main]                        [int] NOT NULL,
  41.         [Sub]                        [int] NULL Default(0),
  42.         [CreateDate]        [datetime] NULL Default (GetDate()),
  43.         [Version] AS (convert(varchar,[Main]) + '.' + right(('0000' + convert(varchar,[Sub])),4)),
  44.         CONSTRAINT [PK_USysVersion] PRIMARY KEY CLUSTERED
  45.         (
  46.                 [ID] ASC
  47.         )
  48. )
  49. GO

  50. EXEC sp_addextendedproperty
  51.         @name=N'MS_Description',
  52.         @value=N'用戶管理數(shù)據(jù)庫(kù)版本',
  53.         @level0type=N'USER',
  54.         @level0name=N'dbo',
  55.         @level1type=N'TABLE',
  56.         @level1name=N'USysVersion'
  57. GO

  58. --------------------------------------------------
  59. --- 表  :USysUsers
  60. --- 用途:存儲(chǔ)用戶
  61. --------------------------------------------------
  62. CREATE TABLE [dbo].[USysUsers](
  63.         [UID] [int] IDENTITY(1000,1) NOT NULL,
  64.         [UserName] [nvarchar](50) NOT NULL,
  65.         [Password] [varchar](256) NOT NULL DEFAULT (''),
  66.         [IsSystem] [bit] NOT NULL DEFAULT (0),
  67.         [Description] [nvarchar](256) NULL,
  68.         [Enabled] [bit] NOT NULL DEFAULT (1),
  69.         [CreateTime] [datetime] NOT NULL DEFAULT (GetDate()),
  70.         CONSTRAINT [PK_USysUsers] PRIMARY KEY CLUSTERED
  71.         (
  72.                 [UID] ASC
  73.         ),
  74.         CONSTRAINT [IX_USysUsers] UNIQUE NONCLUSTERED
  75.         (
  76.                 [UserName] ASC
  77.         )
  78. )
  79. GO

  80. EXEC sp_addextendedproperty
  81.         @name=N'MS_Description',
  82.         @value=N'用戶表',
  83.         @level0type=N'USER',
  84.         @level0name=N'dbo',
  85.         @level1type=N'TABLE',
  86.         @level1name=N'USysUsers'
  87. GO

  88. --------------------------------------------------
  89. --- 表  :USysUserExtender
  90. --- 用途:存儲(chǔ)用戶擴(kuò)展屬性
  91. --- 依賴:dbo.USysUserExtender
  92. --------------------------------------------------
  93. CREATE TABLE [dbo].[USysUserExtender](
  94.         [UID] [int] NOT NULL,
  95.         [RealName] [nvarchar](50) NULL,
  96.         [Gender] [nchar](1) NULL,
  97.         [Birthday] [datetime] NULL,
  98.         [Email] [nvarchar](256) NULL,
  99.         [Company] [nvarchar](50) NULL,
  100.         [Post] [nvarchar](10) NULL,                /* 職位/崗位/職務(wù) */
  101.         [Title] [nvarchar](10) NULL,        /* 稱謂/頭銜/職稱 */
  102.         [Mobile] [varchar](50) NULL,
  103.         [Tel] [varchar](50) NULL,
  104.         [Province] [nvarchar](10) NULL,
  105.         [City] [nvarchar](10) NULL,
  106.         [ZipCode] [varchar](6) NULL,
  107.         CONSTRAINT [PK_USysUserExtender] PRIMARY KEY CLUSTERED
  108.         (
  109.                 [UID] ASC
  110.         ),
  111.         CONSTRAINT [FK_USysUserExtender_USysUsers]
  112.                 FOREIGN KEY([UID]) REFERENCES [dbo].[USysUsers] ([UID])
  113.                 ON UPDATE CASCADE
  114.                 ON DELETE CASCADE
  115. )
  116. GO

  117. EXEC sp_addextendedproperty
  118.         @name=N'MS_Description',
  119.         @value=N'用戶擴(kuò)展屬性表',
  120.         @level0type=N'USER',
  121.         @level0name=N'dbo',
  122.         @level1type=N'TABLE',
  123.         @level1name=N'USysUserExtender'
  124. GO

  125. --------------------------------------------------
  126. --- 表  :USysGroups
  127. --- 用途:存儲(chǔ)用戶組
  128. --------------------------------------------------
  129. CREATE TABLE [dbo].[USysGroups](
  130.         [GID] [int] IDENTITY(1000,1) NOT NULL,
  131.         [GroupName] [nvarchar](50) NOT NULL,
  132.         [IsSystem] [bit] NOT NULL DEFAULT (0),
  133.         [Description] [nvarchar](256) NULL,
  134.         [Enabled] [bit] NOT NULL DEFAULT (1),
  135.         [CreateTime] [datetime] NOT NULL DEFAULT (GetDate()),
  136.         CONSTRAINT [PK_USysGroups] PRIMARY KEY CLUSTERED
  137.         (
  138.                 [GID] ASC
  139.         ),
  140.         CONSTRAINT [IX_USysGroups] UNIQUE NONCLUSTERED
  141.         (
  142.                 [GroupName] ASC
  143.         )

  144. )
  145. GO

  146. EXEC sp_addextendedproperty
  147.         @name=N'MS_Description',
  148.         @value=N'用戶組表',
  149.         @level0type=N'USER',
  150.         @level0name=N'dbo',
  151.         @level1type=N'TABLE',
  152.         @level1name=N'USysGroups'
  153. GO

  154. --------------------------------------------------
  155. --- 表  :USysGroupUsers
  156. --- 用途:存儲(chǔ)用戶組的用戶
  157. --------------------------------------------------
  158. CREATE TABLE [dbo].[USysGroupUsers](
  159.         [GID] [int] NOT NULL,
  160.         [UID] [int] NOT NULL,
  161.         CONSTRAINT [PK_USysGroupUsers] PRIMARY KEY CLUSTERED
  162.         (
  163.                 [GID] ASC,
  164.                 [UID] ASC
  165.         ),
  166.         CONSTRAINT [FK_USysGroupUsers_USysGroups] FOREIGN KEY([GID])
  167.                 REFERENCES [dbo].[USysGroups] ([GID])
  168.                 ON UPDATE CASCADE
  169.                 ON DELETE CASCADE,
  170.         CONSTRAINT [FK_USysGroupUsers_USysUsers] FOREIGN KEY([UID])
  171.                 REFERENCES [dbo].[USysUsers] ([UID])
  172.                 ON UPDATE CASCADE
  173.                 ON DELETE CASCADE
  174. )
  175. GO

  176. EXEC sp_addextendedproperty
  177.         @name=N'MS_Description',
  178.         @value=N'用戶組用戶表',
  179.         @level0type=N'USER',
  180.         @level0name=N'dbo',
  181.         @level1type=N'TABLE',
  182.         @level1name=N'USysGroupUsers'
  183. GO
復(fù)制代碼

點(diǎn)擊這里給我發(fā)消息

3#
 樓主| 發(fā)表于 2012-2-14 22:59:16 | 只看該作者
函數(shù)
  1. /*************************************************
  2. --- 創(chuàng)建函數(shù)
  3. **************************************************/
  4. GO

  5. --------------------------------------------------
  6. --- 函數(shù):fbUSysGeustIsEnabled
  7. --- 目的:判定是否允許匿名來(lái)賓用戶
  8. --- 返回:0 - 不允許,1 - 允許
  9. --- 依賴:dbo.USysUsers
  10. --------------------------------------------------
  11. CREATE FUNCTION [dbo].[fbUSysGeustIsEnabled]()
  12. RETURNS bit
  13. AS
  14. BEGIN
  15.         DECLARE @ret bit

  16.         -- 從[dbo].[USysUsers]表中獲取 Guest 用戶啟用
  17.         -- 作為系統(tǒng)是否允許匿名
  18.         SELECT @ret = [Enabled] FROM [dbo].[USysUsers] WHERE [UID] = 0

  19.         IF @ret IS NULL
  20.                 SET @ret = 0

  21.         RETURN @ret
  22. END
  23. GO

  24. EXEC sp_addextendedproperty
  25.         @name=N'MS_Description',
  26.         @value=N'判定是否允許匿名來(lái)賓用戶,0 - 不允許,1 - 允許',
  27.         @level0type=N'USER',
  28.         @level0name=N'dbo',
  29.         @level1type=N'FUNCTION',
  30.         @level1name=N'fbUSysGeustIsEnabled'
  31. GO

  32. --------------------------------------------------
  33. --- 函數(shù):_ftUSysUsers
  34. --- 用途:獲取用戶列表(內(nèi)部調(diào)用)
  35. --- 依賴:dbo.USysUsers/dbo.USysUserExtender
  36. --------------------------------------------------
  37. CREATE FUNCTION [dbo].[_ftUSysUsers]
  38. (       
  39.         @System bit = NULL,
  40.         @Enabled bit = NULL
  41. )
  42. RETURNS TABLE
  43. AS
  44. RETURN
  45. (
  46.         SELECT
  47.                 u.UID,
  48.                 u.UserName,
  49.                 u.Password,
  50.                 u.IsSystem,
  51.                 u.Description,
  52.                 u.CreateTime,
  53.                 e.RealName,
  54.                 e.Gender,
  55.                 e.Birthday,
  56.                 e.Email,
  57.                 e.Company,
  58.                 e.Post,
  59.                 e.Title,
  60.                 e.Mobile,
  61.                 e.Tel,
  62.                 e.Province,
  63.                 e.City,
  64.                 e.ZipCode
  65.         FROM
  66.                 dbo.USysUsers AS u LEFT OUTER JOIN
  67.                 dbo.USysUserExtender AS e ON u.UID = e.UID
  68.         WHERE
  69.                 ((u.Enabled = @Enabled) OR (@Enabled IS NULL)) AND
  70.                 ((u.IsSystem = @System) OR (@System IS NULL))
  71. )
  72. GO

  73. EXEC sp_addextendedproperty
  74.         @name=N'MS_Description',
  75.         @value=N'獲取用戶列表(內(nèi)部調(diào)用)',
  76.         @level0type=N'USER',
  77.         @level0name=N'dbo',
  78.         @level1type=N'FUNCTION',
  79.         @level1name=N'_ftUSysUsers'
  80. GO

  81. --------------------------------------------------
  82. --- 函數(shù):_ftUSysGroups
  83. --- 用途:獲取用戶組列表(內(nèi)部調(diào)用)
  84. --- 依賴:dbo.USysGroups
  85. --------------------------------------------------
  86. CREATE FUNCTION [dbo].[_ftUSysGroups]
  87. (       
  88.         @System bit = NULL,
  89.         @Enabled bit = NULL
  90. )
  91. RETURNS TABLE
  92. AS
  93. RETURN
  94. (
  95.         SELECT [GID]
  96.                   ,[GroupName]
  97.                   ,[IsSystem]
  98.                   ,[Description]
  99.                   ,[Enabled]
  100.                   ,[CreateTime]
  101.           FROM [dbo].[USysGroups]
  102.          WHERE (([Enabled] = @Enabled) OR (@Enabled IS NULL)) AND
  103.                    (([IsSystem] = @System) OR (@System IS NULL))
  104. )
  105. GO

  106. EXEC sp_addextendedproperty
  107.         @name=N'MS_Description',
  108.         @value=N'獲取用戶組列表(內(nèi)部調(diào)用)',
  109.         @level0type=N'USER',
  110.         @level0name=N'dbo',
  111.         @level1type=N'FUNCTION',
  112.         @level1name=N'_ftUSysGroups'
  113. GO

  114. --------------------------------------------------
  115. --- 函數(shù):ftGetUserGroups
  116. --- 用途:根據(jù)用戶 ID 獲取共所在的用戶組列表
  117. --- 參數(shù):@UID
  118. --- 依賴:dbo.USysUsers/dbo.USysGroups/dbo.USysGroupUsers
  119. --------------------------------------------------
  120. CREATE FUNCTION [dbo].[ftGetUserGroups](@UID int)
  121. RETURNS TABLE
  122. AS
  123. RETURN
  124. (
  125.          SELECT        g.GID, g.GroupName, g.Description, g.IsSystem
  126.            FROM        dbo.USysUsers u INNER JOIN
  127.                         dbo.USysGroupUsers gu ON u.UID = gu.UID INNER JOIN
  128.                         dbo.USysGroups g ON gu.GID = g.GID
  129.           WHERE        (u.UID = @UID) AND (g.Enabled = 1)
  130. )

  131. GO

  132. EXEC sp_addextendedproperty
  133.         @name=N'MS_Description',
  134.         @value=N'根據(jù)用戶 ID 獲取其所在的用戶組列表',
  135.         @level0type=N'USER',
  136.         @level0name=N'dbo',
  137.         @level1type=N'FUNCTION',
  138.         @level1name=N'ftGetUserGroups'
  139. GO

  140. --------------------------------------------------
  141. --- 函數(shù):ftGetGroupUsers
  142. --- 用途:根據(jù)用戶組 ID 獲取其當(dāng)前用戶列表
  143. --- 參數(shù):@GID
  144. --- 依賴:dbo.USysUsers/dbo.USysGroups/dbo.USysGroupUsers
  145. --------------------------------------------------
  146. CREATE FUNCTION [dbo].[ftGetGroupUsers](@GID int)
  147. RETURNS TABLE
  148. AS
  149. RETURN
  150. (
  151.          SELECT        u.UID, u.UserName, u.Description, u.IsSystem
  152.            FROM        dbo.USysGroups g INNER JOIN
  153.                         dbo.USysGroupUsers gu ON g.GID = gu.GID INNER JOIN
  154.                         dbo.USysUsers u ON gu.UID = u.UID
  155.           WHERE        (g.GID = @GID) AND (u.Enabled = 1)
  156. )
  157. GO

  158. EXEC sp_addextendedproperty
  159.         @name=N'MS_Description',
  160.         @value=N'根據(jù)用戶組 ID 獲取其當(dāng)前用戶列表',
  161.         @level0type=N'USER',
  162.         @level0name=N'dbo',
  163.         @level1type=N'FUNCTION',
  164.         @level1name=N'ftGetGroupUsers'
  165. GO
復(fù)制代碼

點(diǎn)擊這里給我發(fā)消息

4#
 樓主| 發(fā)表于 2012-2-14 23:02:30 | 只看該作者
過(guò)程 (一)
  1. /*************************************************
  2. --- 創(chuàng)建過(guò)程
  3. **************************************************/
  4. GO

  5. --------------------------------------------------
  6. --- 過(guò)程:_paUSysSetUserEnabled
  7. --- 目的:設(shè)置用戶是否啟用(內(nèi)部調(diào)用)
  8. --- 參數(shù):
  9. ---                @UID - 用戶 ID
  10. ---                @Enabled - 0-不允許,1-允許
  11. --- 返回:0 - 不成功
  12. --- 依賴:dbo.USysUsers
  13. --------------------------------------------------
  14. CREATE PROCEDURE [dbo].[_paUSysSetUserEnabled]
  15. (
  16.         @UID int,
  17.         @Enabled bit
  18. )
  19. AS
  20. BEGIN
  21.         IF @Enabled IS NOT NULL
  22.                 UPDATE [dbo].[USysUsers]
  23.                 SET [Enabled] = @Enabled
  24.                 WHERE [UID] = @UID

  25.         RETURN @@ROWCOUNT
  26. END
  27. GO

  28. EXEC sp_addextendedproperty
  29.         @name=N'MS_Description',
  30.         @value=N'設(shè)置用戶是否啟用(內(nèi)部調(diào)用)',
  31.         @level0type=N'USER',
  32.         @level0name=N'dbo',
  33.         @level1type=N'PROCEDURE',
  34.         @level1name=N'_paUSysSetUserEnabled'
  35. GO

  36. --------------------------------------------------
  37. --- 過(guò)程:_paUSysSetGroupEnabled
  38. --- 目的:設(shè)置用戶組是否啟用(內(nèi)部調(diào)用)
  39. --- 參數(shù):
  40. ---                @GID - 用戶組 ID
  41. ---                @Enabled - 0-不允許,1-允許
  42. --- 返回:0 - 不成功
  43. --- 依賴:dbo.USysGroups
  44. --------------------------------------------------
  45. CREATE PROCEDURE [dbo].[_paUSysSetGroupEnabled]
  46. (
  47.         @GID int,
  48.         @Enabled bit
  49. )
  50. AS
  51. BEGIN
  52.         IF @Enabled IS NOT NULL
  53.                 UPDATE [dbo].[USysGroups]
  54.                 SET [Enabled] = @Enabled
  55.                 WHERE [GID] = @GID

  56.         RETURN @@ROWCOUNT
  57. END
  58. GO

  59. EXEC sp_addextendedproperty
  60.         @name=N'MS_Description',
  61.         @value=N'設(shè)置用戶組是否啟用(內(nèi)部調(diào)用)',
  62.         @level0type=N'USER',
  63.         @level0name=N'dbo',
  64.         @level1type=N'PROCEDURE',
  65.         @level1name=N'_paUSysSetGroupEnabled'
  66. GO

  67. --------------------------------------------------
  68. --- 過(guò)程:paGroupAddUser
  69. --- 目的:用戶組添加用戶
  70. --- 參數(shù):
  71. ---                @GID - 用戶組 ID
  72. ---                @UID - 用戶 ID
  73. --- 返回:1 - 成功
  74. ---                 0 - 不成功
  75. ---                -1 - 用戶組不存在
  76. ---                -2 - 用戶不存在
  77. ---                -3 - 用戶組已經(jīng)存在該用戶
  78. --- 依賴:dbo.USysGroupUsers/dbo.USysUsers/dbo.USysGroups
  79. --------------------------------------------------
  80. CREATE PROCEDURE [dbo].[paGroupAddUser](@GID int, @UID int)
  81. AS BEGIN
  82.         DECLARE @ret int
  83.         SET @ret = 0
  84.         IF NOT EXISTS(SELECT [GroupName] FROM [dbo].[USysGroups] WHERE [GID] = @GID)
  85.                 SET @ret = -1
  86.         ELSE
  87.         IF NOT EXISTS(SELECT [UserName] FROM [dbo].[USysUsers] WHERE [UID] = @UID)
  88.                 SET @ret = -2
  89.         ELSE
  90.         IF NOT EXISTS(SELECT [GID] FROM [dbo].[USysGroupUsers] WHERE ([GID] = @GID) AND ([UID] = @UID))
  91.                 BEGIN
  92.                 INSERT INTO [dbo].[USysGroupUsers]
  93.                         ([GID],        [UID]) VALUES
  94.                         (@GID,        @UID)
  95.                 SET @ret = @@ROWCOUNT
  96.                 END
  97.         ELSE
  98.                 SET @ret = -3
  99.                
  100.         RETURN @ret
  101. END
  102. GO

  103. EXEC sp_addextendedproperty
  104.         @name=N'MS_Description',
  105.         @value=N'向用戶組中添加用戶',
  106.         @level0type=N'USER',
  107.         @level0name=N'dbo',
  108.         @level1type=N'PROCEDURE',
  109.         @level1name=N'paGroupAddUser'
  110. GO

  111. --------------------------------------------------
  112. --- 過(guò)程:paGroupRemoveUser
  113. --- 目的:用戶組移除用戶
  114. --- 參數(shù):
  115. ---                @GID - 用戶組 ID
  116. ---                @UID - 用戶 ID
  117. --- 返回:1 - 成功
  118. ---                 0 - 不成功
  119. ---                -1 - 用戶組不存在
  120. ---                -4 - 用戶組不存在該用戶
  121. --- 依賴:dbo.USysGroupUsers/dbo.USysUsers/dbo.USysGroups
  122. --------------------------------------------------
  123. CREATE PROCEDURE [dbo].[paGroupRemoveUser](@GID int, @UID int)
  124. AS BEGIN
  125.         DECLARE @ret int
  126.         SET @ret = 0
  127.        
  128.         IF NOT EXISTS(SELECT [GroupName] FROM [dbo].[USysGroups] WHERE [GID] = @GID)
  129.                 SET @ret = -1
  130.         ELSE
  131.         IF EXISTS(SELECT [GID] FROM [dbo].[USysGroupUsers] WHERE ([GID] = @GID) AND ([UID] = @UID))
  132.                 BEGIN
  133.                 DELETE [dbo].[USysGroupUsers] WHERE ([GID] = @GID) AND ([UID] = @UID)
  134.                 SET @ret = @@ROWCOUNT
  135.                 END
  136.         ELSE
  137.                 SET @ret = -4
  138.                
  139.         RETURN @ret
  140. END
  141. GO

  142. EXEC sp_addextendedproperty
  143.         @name=N'MS_Description',
  144.         @value=N'從用戶組中移除用戶',
  145.         @level0type=N'USER',
  146.         @level0name=N'dbo',
  147.         @level1type=N'PROCEDURE',
  148.         @level1name=N'paGroupRemoveUser'
  149. GO

  150. --------------------------------------------------
  151. --- 過(guò)程:paUserDisableGuest
  152. --- 目的:停用匿名用戶
  153. --- 返回:0 - 不成功
  154. --- 依賴:dbo.USysUsers/dbo._paUSysSetUserEnabled
  155. --------------------------------------------------
  156. CREATE PROCEDURE [dbo].[paUserDisableGuest]
  157. AS
  158. BEGIN
  159.         DECLARE        @return_value int
  160.         EXEC        @return_value = [dbo].[_paUSysSetUserEnabled]
  161.                         @UID = 0,
  162.                         @Enabled = 0

  163.         RETURN @return_value
  164. END
  165. GO

  166. EXEC sp_addextendedproperty
  167.         @name=N'MS_Description',
  168.         @value=N'停用匿名用戶',
  169.         @level0type=N'USER',
  170.         @level0name=N'dbo',
  171.         @level1type=N'PROCEDURE',
  172.         @level1name=N'paUserDisableGuest'
  173. GO
復(fù)制代碼

點(diǎn)擊這里給我發(fā)消息

5#
 樓主| 發(fā)表于 2012-2-14 23:03:22 | 只看該作者
過(guò)程 (二)
  1. --------------------------------------------------
  2. --- 過(guò)程:paUserEnableGuest
  3. --- 目的:?jiǎn)⒂媚涿脩?br />
  4. --- 返回:0 - 不成功
  5. --- 依賴:dbo.USysUsers/dbo._paUSysSetUserEnabled
  6. --------------------------------------------------
  7. CREATE PROCEDURE [dbo].[paUserEnableGuest]
  8. AS
  9. BEGIN
  10.         DECLARE        @return_value int
  11.         EXEC        @return_value = [dbo].[_paUSysSetUserEnabled]
  12.                         @UID = 0,
  13.                         @Enabled = 1

  14.         RETURN @return_value
  15. END
  16. GO

  17. EXEC sp_addextendedproperty
  18.         @name=N'MS_Description',
  19.         @value=N'啟用匿名用戶',
  20.         @level0type=N'USER',
  21.         @level0name=N'dbo',
  22.         @level1type=N'PROCEDURE',
  23.         @level1name=N'paUserEnableGuest'
  24. GO

  25. --------------------------------------------------
  26. --- 過(guò)程:paUserDisableUser
  27. --- 目的:停用指定用戶
  28. --- 返回:0 - 不成功
  29. --- 依賴:dbo.USysUsers/dbo._paUSysSetUserEnabled
  30. --------------------------------------------------
  31. CREATE PROCEDURE [dbo].[paUserDisableUser](@UID int)
  32. AS
  33. BEGIN
  34.         DECLARE        @return_value int
  35.         EXEC        @return_value = [dbo].[_paUSysSetUserEnabled]
  36.                         @UID = @UID,
  37.                         @Enabled = 0

  38.         RETURN @return_value
  39. END
  40. GO

  41. EXEC sp_addextendedproperty
  42.         @name=N'MS_Description',
  43.         @value=N'停用指定用戶',
  44.         @level0type=N'USER',
  45.         @level0name=N'dbo',
  46.         @level1type=N'PROCEDURE',
  47.         @level1name=N'paUserDisableUser'
  48. GO

  49. --------------------------------------------------
  50. --- 過(guò)程:paUserEnableUser
  51. --- 目的:?jiǎn)⒂糜脩?br />
  52. --- 返回:0 - 不成功
  53. --- 依賴:dbo.USysUsers/dbo._paUSysSetUserEnabled
  54. --------------------------------------------------
  55. CREATE PROCEDURE [dbo].[paUserEnableUser](@UID int)
  56. AS
  57. BEGIN
  58.         DECLARE        @return_value int
  59.         EXEC        @return_value = [dbo].[_paUSysSetUserEnabled]
  60.                         @UID = @UID,
  61.                         @Enabled = 1

  62.         RETURN @return_value
  63. END
  64. GO

  65. EXEC sp_addextendedproperty
  66.         @name=N'MS_Description',
  67.         @value=N'啟用指定用戶',
  68.         @level0type=N'USER',
  69.         @level0name=N'dbo',
  70.         @level1type=N'PROCEDURE',
  71.         @level1name=N'paUserEnableUser'
  72. GO

  73. --------------------------------------------------
  74. --- 過(guò)程:paUsersAdd
  75. --- 用途:增加新用戶
  76. --- 返回:0-不成功
  77. --- 依賴:dbo.USysUsers
  78. --------------------------------------------------
  79. CREATE PROCEDURE [dbo].[paUsersAdd]
  80. (
  81.         @UID int OUTPUT,                                /* 用戶ID 輸出新增自動(dòng)產(chǎn)生 */
  82.         @UserName nvarchar(50),                        /* 用戶名 */
  83.         @Password varchar(256),                        /* 密碼 */
  84.         @Description nvarchar(256),                /* 描述 */
  85.         @IsSystem bit = 0,                                /* 是否系統(tǒng)用戶 0-普通用戶,1-系統(tǒng)用戶 */
  86.         @Enabled bit = 1                                /* 是否啟用 0-停用,1-啟用 */
  87. )
  88. AS
  89. BEGIN
  90.         DECLARE @ret int

  91.         INSERT INTO [dbo].[USysUsers]
  92.                            ([UserName]
  93.                            ,[Password]
  94.                            ,[IsSystem]
  95.                            ,[Description]
  96.                            ,[Enabled])
  97.                  VALUES
  98.                            (@UserName
  99.                            ,@Password
  100.                            ,@IsSystem
  101.                            ,@Description
  102.                            ,@Enabled)

  103.         IF @@ROWCOUNT >0
  104.                 SET @ret = SCOPE_IDENTITY( )
  105.         ELSE
  106.                 SET @ret = 0

  107.         SET @UID = @ret
  108.        
  109.         RETURN @ret
  110. END
  111. GO

  112. EXEC sp_addextendedproperty
  113.         @name=N'MS_Description',
  114.         @value=N'增加新用戶',
  115.         @level0type=N'USER',
  116.         @level0name=N'dbo',
  117.         @level1type=N'PROCEDURE',
  118.         @level1name=N'paUsersAdd'
  119. GO

  120. --------------------------------------------------
  121. --- 過(guò)程:paUsersDel
  122. --- 用途:刪除指定用戶
  123. --- 返回:0-不成功
  124. --- 依賴:dbo.USysUsers
  125. --------------------------------------------------
  126. CREATE PROCEDURE [dbo].[paUsersDel]
  127. (
  128.         @UID int
  129. )
  130. AS
  131. BEGIN
  132.         DELETE [dbo].[USysUsers] WHERE [UID] = @UID

  133.         RETURN @@ROWCOUNT
  134. END
  135. GO

  136. EXEC sp_addextendedproperty
  137.         @name=N'MS_Description',
  138.         @value=N'刪除指定用戶',
  139.         @level0type=N'USER',
  140.         @level0name=N'dbo',
  141.         @level1type=N'PROCEDURE',
  142.         @level1name=N'paUsersDel'
  143. GO

  144. --------------------------------------------------
  145. --- 過(guò)程:paUserChangePassword
  146. --- 用途:更改指定用戶密碼
  147. --- 返回:0-不成功
  148. --- 依賴:dbo.USysUsers
  149. --------------------------------------------------
  150. CREATE PROCEDURE [dbo].[paUserChangePassword]
  151. (
  152.         @UID int,                                /* 用戶ID */
  153.         @Password varchar(256)        /* 密碼 */
  154. )
  155. AS
  156. BEGIN
  157.         UPDATE        [dbo].[USysUsers]
  158.         SET                [Password] = @Password
  159.         WHERE        [UID] = @UID

  160.         RETURN @@ROWCOUNT
  161. END
  162. GO

  163. EXEC sp_addextendedproperty
  164.         @name=N'MS_Description',
  165.         @value=N'更改指定用戶密碼',
  166.         @level0type=N'USER',
  167.         @level0name=N'dbo',
  168.         @level1type=N'PROCEDURE',
  169.         @level1name=N'paUserChangePassword'
  170. GO

  171. --------------------------------------------------
  172. --- 過(guò)程:paUserChangeDescription
  173. --- 用途:更改指定用戶描述
  174. --- 返回:0-不成功
  175. --- 依賴:dbo.USysUsers
  176. --------------------------------------------------
  177. CREATE PROCEDURE [dbo].[paUserChangeDescription]
  178. (
  179.         @UID int,                                        /* 用戶ID */
  180.         @Description varchar(256)        /* 描述 */
  181. )
  182. AS
  183. BEGIN
  184.         UPDATE        [dbo].[USysUsers]
  185.         SET                [Description] = @Description
  186.         WHERE        [UID] = @UID

  187.         RETURN @@ROWCOUNT
  188. END
  189. GO

  190. EXEC sp_addextendedproperty
  191.         @name=N'MS_Description',
  192.         @value=N'更改指定用戶描述',
  193.         @level0type=N'USER',
  194.         @level0name=N'dbo',
  195.         @level1type=N'PROCEDURE',
  196.         @level1name=N'paUserChangeDescription'
  197. GO

  198. --------------------------------------------------
  199. --- 過(guò)程:paUserChangeUserName
  200. --- 用途:更改指定用戶用戶名
  201. --- 返回:0-不成功
  202. --- 依賴:dbo.USysUsers
  203. --------------------------------------------------
  204. CREATE PROCEDURE [dbo].[paUserChangeUserName]
  205. (
  206.         @UID int,                                /* 用戶ID */
  207.         @UserName nvarchar(50)        /* 用戶名 */
  208. )
  209. AS
  210. BEGIN
  211.         UPDATE        [dbo].[USysUsers]
  212.         SET                [UserName] = @UserName
  213.         WHERE        [UID] = @UID

  214.         RETURN @@ROWCOUNT
  215. END
  216. GO

  217. EXEC sp_addextendedproperty
  218.         @name=N'MS_Description',
  219.         @value=N'更改指定用戶用戶名',
  220.         @level0type=N'USER',
  221.         @level0name=N'dbo',
  222.         @level1type=N'PROCEDURE',
  223.         @level1name=N'paUserChangeUserName'
  224. GO
復(fù)制代碼

點(diǎn)擊這里給我發(fā)消息

6#
 樓主| 發(fā)表于 2012-2-14 23:04:36 | 只看該作者
過(guò)程 (三)
  1. --------------------------------------------------
  2. --- 過(guò)程:paUserUpdateExtender
  3. --- 用途:更新指定用戶的擴(kuò)展屬性
  4. --- 返回:0-不成功
  5. --- 依賴:dbo.USysUserExtender
  6. --------------------------------------------------
  7. CREATE PROCEDURE [dbo].[paUserUpdateExtender]
  8. (
  9.         @UID                int,
  10.         @RealName        nvarchar(50)        = NULL,
  11.         @Gender                nchar(1)                = NULL,
  12.         @Birthday        datetime                = NULL,
  13.         @Email                nvarchar(256)        = NULL,
  14.         @Company        nvarchar(50)        = NULL,
  15.         @Post                nvarchar(10)        = NULL,
  16.         @Title                nvarchar(10)        = NULL,
  17.         @Mobile                varchar(50)                = NULL,
  18.         @Tel                varchar(50)                = NULL,
  19.         @Province        nvarchar(10)        = NULL,
  20.         @City                nvarchar(10)        = NULL,
  21.         @ZipCode        varchar(6)                = NULL
  22. )
  23. AS
  24. BEGIN
  25.         IF EXISTS (SELECT [UID] FROM [dbo].[USysUserExtender] WHERE [UID] = @UID)
  26.                 UPDATE [dbo].[USysUserExtender]
  27.                    SET [RealName]        = @RealName
  28.                           ,[Gender]                = @Gender
  29.                           ,[Birthday]        = @Birthday
  30.                           ,[Email]                = @Email
  31.                           ,[Company]        = @Company
  32.                           ,[Post]                = @Post
  33.                           ,[Title]                = @Title
  34.                           ,[Mobile]                = @Mobile
  35.                           ,[Tel]                = @Tel
  36.                           ,[Province]        = @Province
  37.                           ,[City]                = @City
  38.                           ,[ZipCode]        = @ZipCode
  39.                  WHERE [UID] = @UID
  40.         ELSE
  41.                 INSERT INTO [dbo].[USysUserExtender]
  42.                         ([UID],[RealName],[Gender],[Birthday],[Email],[Company],[Post],[Title],[Mobile],[Tel],[Province],[City],[ZipCode])
  43.                          VALUES
  44.                         (
  45.                                 @UID,
  46.                                 @RealName,
  47.                                 @Gender,
  48.                                 @Birthday,
  49.                                 @Email,
  50.                                 @Company,
  51.                                 @Post,
  52.                                 @Title,
  53.                                 @Mobile,
  54.                                 @Tel,
  55.                                 @Province,
  56.                                 @City,
  57.                                 @ZipCode
  58.                         )

  59.         RETURN @@ROWCOUNT
  60. END
  61. GO

  62. EXEC sp_addextendedproperty
  63.         @name=N'MS_Description',
  64.         @value=N'更新指定用戶的擴(kuò)展屬性',
  65.         @level0type=N'USER',
  66.         @level0name=N'dbo',
  67.         @level1type=N'PROCEDURE',
  68.         @level1name=N'paUserUpdateExtender'
  69. GO

  70. --------------------------------------------------
  71. --- 過(guò)程:paUserSetExtender
  72. --- 用途:設(shè)置指定用戶的指定擴(kuò)展屬性
  73. --- 返回:0-不成功
  74. --- 依賴:dbo.USysUserExtender
  75. --------------------------------------------------
  76. CREATE PROCEDURE [dbo].[paUserSetExtender]
  77. (
  78.         @UID                        int,
  79.         @ExtenderName        sysname,
  80.         @Value                        sql_variant        = NULL
  81. )
  82. AS
  83. BEGIN
  84.         DECLARE @ret int
  85.         SET @ret = 0

  86.         IF NOT EXISTS (SELECT [UID] FROM [dbo].[USysUserExtender] WHERE [UID] = @UID)
  87.                 INSERT INTO [dbo].[USysUserExtender] ([UID]) VALUES (@UID)

  88.         IF @@ERROR = 0
  89.                 BEGIN
  90.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('RealName')
  91.                                 BEGIN
  92.                                         UPDATE [dbo].[USysUserExtender] SET [RealName]        = CAST(@Value AS nvarchar(50)) WHERE [UID] = @UID
  93.                                         SET @ret = @ret + @@ROWCOUNT
  94.                                 END
  95.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('Gender')
  96.                                 BEGIN
  97.                                         UPDATE [dbo].[USysUserExtender] SET [Gender]        = CAST(@Value AS nchar(1)) WHERE [UID] = @UID
  98.                                         SET @ret = @ret + @@ROWCOUNT
  99.                                 END
  100.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('Birthday')
  101.                                 BEGIN
  102.                                         UPDATE [dbo].[USysUserExtender] SET [Birthday]        = CAST(@Value AS datetime) WHERE [UID] = @UID
  103.                                         SET @ret = @ret + @@ROWCOUNT
  104.                                 END
  105.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('Email')
  106.                                 BEGIN
  107.                                         UPDATE [dbo].[USysUserExtender] SET [Email]                = CAST(@Value AS nvarchar(256)) WHERE [UID] = @UID
  108.                                         SET @ret = @ret + @@ROWCOUNT
  109.                                 END
  110.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('Company')
  111.                                 BEGIN
  112.                                         UPDATE [dbo].[USysUserExtender] SET [Company]        = CAST(@Value AS nvarchar(50)) WHERE [UID] = @UID
  113.                                         SET @ret = @ret + @@ROWCOUNT
  114.                                 END
  115.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('Post')
  116.                                 BEGIN
  117.                                         UPDATE [dbo].[USysUserExtender] SET [Post]                = CAST(@Value AS nvarchar(10)) WHERE [UID] = @UID
  118.                                         SET @ret = @ret + @@ROWCOUNT
  119.                                 END
  120.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('Title')
  121.                                 BEGIN
  122.                                         UPDATE [dbo].[USysUserExtender] SET [Title]                = CAST(@Value AS nvarchar(10)) WHERE [UID] = @UID
  123.                                         SET @ret = @ret + @@ROWCOUNT
  124.                                 END
  125.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('Mobile')
  126.                                 BEGIN
  127.                                         UPDATE [dbo].[USysUserExtender] SET [Mobile]        = CAST(@Value AS varchar(50)) WHERE [UID] = @UID
  128.                                         SET @ret = @ret + @@ROWCOUNT
  129.                                 END
  130.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('Tel')
  131.                                 BEGIN
  132.                                         UPDATE [dbo].[USysUserExtender] SET [Tel]                = CAST(@Value AS varchar(50)) WHERE [UID] = @UID
  133.                                         SET @ret = @ret + @@ROWCOUNT
  134.                                 END
  135.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('Province')
  136.                                 BEGIN
  137.                                         UPDATE [dbo].[USysUserExtender] SET [Province]        = CAST(@Value AS nvarchar(10)) WHERE [UID] = @UID
  138.                                         SET @ret = @ret + @@ROWCOUNT
  139.                                 END
  140.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('City')
  141.                                 BEGIN
  142.                                         UPDATE [dbo].[USysUserExtender] SET [City]                = CAST(@Value AS nvarchar(10)) WHERE [UID] = @UID
  143.                                         SET @ret = @ret + @@ROWCOUNT
  144.                                 END
  145.                         IF UPPER(RTRIM(@ExtenderName)) = UPPER('ZipCode')
  146.                                 BEGIN
  147.                                         UPDATE [dbo].[USysUserExtender] SET [ZipCode]        = CAST(@Value AS varchar(6)) WHERE [UID] = @UID
  148.                                         SET @ret = @ret + @@ROWCOUNT
  149.                                 END
  150.                 END

  151.         RETURN @ret
  152. END
  153. GO

  154. EXEC sp_addextendedproperty
  155.         @name=N'MS_Description',
  156.         @value=N'設(shè)置指定用戶的指定擴(kuò)展屬性',
  157.         @level0type=N'USER',
  158.         @level0name=N'dbo',
  159.         @level1type=N'PROCEDURE',
  160.         @level1name=N'paUserSetExtender'
  161. GO
復(fù)制代碼

點(diǎn)擊這里給我發(fā)消息

7#
 樓主| 發(fā)表于 2012-2-14 23:05:24 | 只看該作者
過(guò)程 (四)
  1. --------------------------------------------------
  2. --- 過(guò)程:paGroupsAdd
  3. --- 用途:新增用戶組
  4. --- 返回:0-不成功
  5. --- 依賴:dbo.USysGroups
  6. --------------------------------------------------
  7. CREATE PROCEDURE [dbo].[paGroupsAdd]
  8. (
  9.         @GID int OUTPUT,                                /* 用戶組ID 輸出新增自動(dòng)產(chǎn)生 */
  10.         @GroupName nvarchar(50),                /* 用戶組名稱 */
  11.         @Description nvarchar(256),                /* 描述 */
  12.         @IsSystem bit = 0,                                /* 是否系統(tǒng)用戶 0-普通用戶組,1-系統(tǒng)用戶組 */
  13.         @Enabled bit = 1                                /* 是否啟用 0-停用,1-啟用 */
  14. )
  15. AS
  16. BEGIN
  17.         DECLARE @ret int

  18.         INSERT INTO [dbo].[USysGroups]
  19.                            ([GroupName]
  20.                            ,[IsSystem]
  21.                            ,[Description]
  22.                            ,[Enabled])
  23.                  VALUES
  24.                            (@GroupName
  25.                            ,@IsSystem
  26.                            ,@Description
  27.                            ,@Enabled)

  28.         IF @@ROWCOUNT >0
  29.                 SET @ret = SCOPE_IDENTITY( )
  30.         ELSE
  31.                 SET @ret = 0

  32.         SET @GID = @ret
  33.        
  34.         RETURN @ret
  35. END
  36. GO

  37. EXEC sp_addextendedproperty
  38.         @name=N'MS_Description',
  39.         @value=N'新增用戶組',
  40.         @level0type=N'USER',
  41.         @level0name=N'dbo',
  42.         @level1type=N'PROCEDURE',
  43.         @level1name=N'paGroupsAdd'
  44. GO

  45. --------------------------------------------------
  46. --- 過(guò)程:paGroupsDel
  47. --- 用途:刪除指定用戶組
  48. --- 返回:0-不成功
  49. --- 依賴:dbo.USysGroups
  50. --------------------------------------------------
  51. CREATE PROCEDURE [dbo].[paGroupsDel]
  52. (
  53.         @GID int
  54. )
  55. AS
  56. BEGIN
  57.         DELETE [dbo].[USysGroups] WHERE [GID] = @GID

  58.         RETURN @@ROWCOUNT
  59. END
  60. GO

  61. EXEC sp_addextendedproperty
  62.         @name=N'MS_Description',
  63.         @value=N'刪除指定用戶組',
  64.         @level0type=N'USER',
  65.         @level0name=N'dbo',
  66.         @level1type=N'PROCEDURE',
  67.         @level1name=N'paGroupsDel'
  68. GO

  69. --------------------------------------------------
  70. --- 過(guò)程:paGroupChangeGroupName
  71. --- 用途:更改指定用戶組的名稱
  72. --- 返回:0 - 不成功
  73. ---                -1 - 用戶組名為空
  74. ---                -2 - 用戶組不存在
  75. --- 依賴:dbo.USysGroups
  76. --------------------------------------------------
  77. CREATE PROCEDURE [dbo].[paGroupChangeGroupName]
  78. (
  79.         @GID                int,
  80.         @GroupName        nvarchar(50)
  81. )
  82. AS
  83. BEGIN
  84.         DECLARE @ret int
  85.         IF @GroupName IS NULL OR RTRIM(@GroupName) = N''
  86.                 SET @ret = -1
  87.         ELSE
  88.         IF EXISTS (SELECT [GID] FROM [dbo].[USysGroups] WHERE [GID] = @GID)
  89.                 BEGIN
  90.                 UPDATE [dbo].[USysGroups]
  91.                    SET [GroupName]        = @GroupName
  92.                  WHERE [GID] = @GID
  93.                 SET @ret = @@ROWCOUNT
  94.                 END
  95.         ELSE
  96.                 SET @ret = -2
  97.                
  98.         RETURN @ret
  99. END
  100. GO

  101. EXEC sp_addextendedproperty
  102.         @name=N'MS_Description',
  103.         @value=N'更改指定用戶組的名稱',
  104.         @level0type=N'USER',
  105.         @level0name=N'dbo',
  106.         @level1type=N'PROCEDURE',
  107.         @level1name=N'paGroupChangeGroupName'
  108. GO

  109. --------------------------------------------------
  110. --- 過(guò)程:paGroupChangeDescription
  111. --- 用途:更改指定用戶組的描述
  112. --- 返回:0 - 不成功
  113. ---                -2 - 用戶組不存在
  114. --- 依賴:dbo.USysGroups
  115. --------------------------------------------------
  116. CREATE PROCEDURE [dbo].[paGroupChangeDescription]
  117. (
  118.         @GID                        int,
  119.         @Description        nvarchar(256)
  120. )
  121. AS
  122. BEGIN
  123.         DECLARE @ret int

  124.         IF EXISTS (SELECT [GID] FROM [dbo].[USysGroups] WHERE [GID] = @GID)
  125.                 BEGIN
  126.                 UPDATE [dbo].[USysGroups]
  127.                    SET [Description] = @Description
  128.                  WHERE [GID] = @GID
  129.                 SET @ret = @@ROWCOUNT
  130.                 END
  131.         ELSE
  132.                 SET @ret = -2
  133.                
  134.         RETURN @ret
  135. END
  136. GO

  137. EXEC sp_addextendedproperty
  138.         @name=N'MS_Description',
  139.         @value=N'更改指定用戶組的描述',
  140.         @level0type=N'USER',
  141.         @level0name=N'dbo',
  142.         @level1type=N'PROCEDURE',
  143.         @level1name=N'paGroupChangeDescription'
  144. GO

  145. --------------------------------------------------
  146. --- 過(guò)程:paGroupUpdate
  147. --- 用途:更新指定用戶組的屬性
  148. --- 返回:0 - 不成功
  149. ---                -1 - 用戶組名為空
  150. ---                -2 - 用戶組不存在
  151. --- 依賴:dbo.USysGroups
  152. --------------------------------------------------
  153. CREATE PROCEDURE [dbo].[paGroupUpdate]
  154. (
  155.         @GID                int,
  156.         @GroupName        nvarchar(50),
  157.         @Description nvarchar(256) = NULL
  158. )
  159. AS
  160. BEGIN
  161.         DECLARE @ret int
  162.         IF @GroupName IS NULL OR RTRIM(@GroupName) = N''
  163.                 SET @ret = -1
  164.         ELSE
  165.         IF EXISTS (SELECT [GID] FROM [dbo].[USysGroups] WHERE [GID] = @GID)
  166.                 BEGIN
  167.                 UPDATE [dbo].[USysGroups]
  168.                    SET [GroupName]        = @GroupName
  169.                           ,[Description]= @Description
  170.                  WHERE [GID] = @GID
  171.                 SET @ret = @@ROWCOUNT
  172.                 END
  173.         ELSE
  174.                 SET @ret = -2
  175.                
  176.         RETURN @ret
  177. END
  178. GO

  179. EXEC sp_addextendedproperty
  180.         @name=N'MS_Description',
  181.         @value=N'更新指定用戶組的屬性',
  182.         @level0type=N'USER',
  183.         @level0name=N'dbo',
  184.         @level1type=N'PROCEDURE',
  185.         @level1name=N'paGroupUpdate'
  186. GO

  187. --------------------------------------------------
  188. --- 過(guò)程:paGroupEnableGroup
  189. --- 目的:?jiǎn)⒂弥付ㄓ脩艚M
  190. --- 返回:0 - 不成功
  191. --- 依賴:dbo.USysGroups/dbo._paUSysSetGroupEnabled
  192. --------------------------------------------------
  193. CREATE PROCEDURE [dbo].[paGroupEnableGroup](@GID int)
  194. AS
  195. BEGIN
  196.         DECLARE        @return_value int
  197.         EXEC        @return_value = [dbo].[_paUSysSetGroupEnabled]
  198.                         @GID = @GID,
  199.                         @Enabled = 1

  200.         RETURN @return_value
  201. END
  202. GO

  203. EXEC sp_addextendedproperty
  204.         @name=N'MS_Description',
  205.         @value=N'啟用指定用戶組',
  206.         @level0type=N'USER',
  207.         @level0name=N'dbo',
  208.         @level1type=N'PROCEDURE',
  209.         @level1name=N'paGroupEnableGroup'
  210. GO

  211. --------------------------------------------------
  212. --- 過(guò)程:paGroupDisableGroup
  213. --- 目的:禁用用指定用戶組
  214. --- 返回:0 - 不成功
  215. --- 依賴:dbo.USysGroups/dbo._paUSysSetGroupEnabled
  216. --------------------------------------------------
  217. CREATE PROCEDURE [dbo].[paGroupDisableGroup](@GID int)
  218. AS
  219. BEGIN
  220.         DECLARE        @return_value int
  221.         EXEC        @return_value = [dbo].[_paUSysSetGroupEnabled]
  222.                         @GID = @GID,
  223.                         @Enabled = 0

  224.         RETURN @return_value
  225. END
  226. GO

  227. EXEC sp_addextendedproperty
  228.         @name=N'MS_Description',
  229.         @value=N'禁用用指定用戶組',
  230.         @level0type=N'USER',
  231.         @level0name=N'dbo',
  232.         @level1type=N'PROCEDURE',
  233.         @level1name=N'paGroupDisableGroup'
  234. GO
復(fù)制代碼

點(diǎn)擊這里給我發(fā)消息

8#
 樓主| 發(fā)表于 2012-2-14 23:06:07 | 只看該作者
視圖
  1. /*************************************************
  2. --- 創(chuàng)建視圖
  3. **************************************************/
  4. GO

  5. --------------------------------------------------
  6. --- 視圖:vUsersAll
  7. --- 用途:所有用戶
  8. --- 依賴:dbo.USysUsers/dbo.USysUserExtender/dbo._ftUSysUsers
  9. --------------------------------------------------
  10. CREATE VIEW [dbo].[vUsersAll]
  11. AS
  12. SELECT * FROM [dbo].[_ftUSysUsers](NULL, NULL)
  13. GO

  14. EXEC sp_addextendedproperty
  15.         @name=N'MS_Description',
  16.         @value=N'所有用戶',
  17.         @level0type=N'USER',
  18.         @level0name=N'dbo',
  19.         @level1type=N'VIEW',
  20.         @level1name=N'vUsersAll'
  21. GO

  22. --------------------------------------------------
  23. --- 視圖:vUsersSystem
  24. --- 用途:所有系統(tǒng)用戶
  25. --- 依賴:dbo.USysUsers/dbo.USysUserExtender/dbo._ftUSysUsers
  26. --------------------------------------------------
  27. CREATE VIEW [dbo].[vUsersSystem]
  28. AS
  29. SELECT * FROM [dbo].[_ftUSysUsers](1, NULL)
  30. GO

  31. EXEC sp_addextendedproperty
  32.         @name=N'MS_Description',
  33.         @value=N'所有系統(tǒng)用戶',
  34.         @level0type=N'USER',
  35.         @level0name=N'dbo',
  36.         @level1type=N'VIEW',
  37.         @level1name=N'vUsersSystem'
  38. GO

  39. --------------------------------------------------
  40. --- 視圖:vUsersSystemCurrent
  41. --- 用途:當(dāng)前系統(tǒng)用戶
  42. --- 依賴:dbo.USysUsers/dbo.USysUserExtender/dbo._ftUSysUsers
  43. --------------------------------------------------
  44. CREATE VIEW [dbo].[vUsersSystemCurrent]
  45. AS
  46. SELECT * FROM [dbo].[_ftUSysUsers](1, 1)
  47. GO

  48. EXEC sp_addextendedproperty
  49.         @name=N'MS_Description',
  50.         @value=N'當(dāng)前系統(tǒng)用戶',
  51.         @level0type=N'USER',
  52.         @level0name=N'dbo',
  53.         @level1type=N'VIEW',
  54.         @level1name=N'vUsersSystemCurrent'
  55. GO

  56. --------------------------------------------------
  57. --- 視圖:vUsersSystemDisabled
  58. --- 用途:當(dāng)前禁用的系統(tǒng)用戶
  59. --- 依賴:dbo.USysUsers/dbo.USysUserExtender/dbo._ftUSysUsers
  60. --------------------------------------------------
  61. CREATE VIEW [dbo].[vUsersSystemDisabled]
  62. AS
  63. SELECT * FROM [dbo].[_ftUSysUsers](1, 0)
  64. GO

  65. EXEC sp_addextendedproperty
  66.         @name=N'MS_Description',
  67.         @value=N'當(dāng)前禁用的系統(tǒng)用戶',
  68.         @level0type=N'USER',
  69.         @level0name=N'dbo',
  70.         @level1type=N'VIEW',
  71.         @level1name=N'vUsersSystemDisabled'
  72. GO

  73. --------------------------------------------------
  74. --- 視圖:vUsersGeneral
  75. --- 用途:所有一般用戶
  76. --- 依賴:dbo.USysUsers/dbo.USysUserExtender/dbo._ftUSysUsers
  77. --------------------------------------------------
  78. CREATE VIEW [dbo].[vUsersGeneral]
  79. AS
  80. SELECT * FROM [dbo].[_ftUSysUsers](0, NULL)
  81. GO

  82. --------------------------------------------------
  83. --- 視圖:vUsersGeneralCurrent
  84. --- 用途:當(dāng)前一般用戶
  85. --- 依賴:dbo.USysUsers/dbo.USysUserExtender/dbo._ftUSysUsers
  86. --------------------------------------------------
  87. CREATE VIEW [dbo].[vUsersGeneralCurrent]
  88. AS
  89. SELECT * FROM [dbo].[_ftUSysUsers](0, 1)
  90. GO

  91. EXEC sp_addextendedproperty
  92.         @name=N'MS_Description',
  93.         @value=N'當(dāng)前一般用戶',
  94.         @level0type=N'USER',
  95.         @level0name=N'dbo',
  96.         @level1type=N'VIEW',
  97.         @level1name=N'vUsersGeneralCurrent'
  98. GO

  99. --------------------------------------------------
  100. --- 視圖:vUsersGeneralDisabled
  101. --- 用途:當(dāng)前禁用的一般用戶
  102. --- 依賴:dbo.USysUsers/dbo.USysUserExtender/dbo._ftUSysUsers
  103. --------------------------------------------------
  104. CREATE VIEW [dbo].[vUsersGeneralDisabled]
  105. AS
  106. SELECT * FROM [dbo].[_ftUSysUsers](0, 0)
  107. GO

  108. EXEC sp_addextendedproperty
  109.         @name=N'MS_Description',
  110.         @value=N'當(dāng)前禁用的一般用戶',
  111.         @level0type=N'USER',
  112.         @level0name=N'dbo',
  113.         @level1type=N'VIEW',
  114.         @level1name=N'vUsersGeneralDisabled'
  115. GO

  116. --------------------------------------------------
  117. --- 視圖:vGroupsAll
  118. --- 用途:所有用戶
  119. --- 依賴:dbo.USysGroups/dbo._ftUSysGroups
  120. --------------------------------------------------
  121. CREATE VIEW [dbo].[vGroupsAll]
  122. AS
  123.         SELECT [GID]
  124.                 ,[GroupName]
  125.                 ,[IsSystem]
  126.                 ,[Description]
  127.                 ,[Enabled]
  128.                 ,[CreateTime]
  129.         FROM [dbo].[_ftUSysGroups](NULL, NULL)
  130. GO

  131. EXEC sp_addextendedproperty
  132.         @name=N'MS_Description',
  133.         @value=N'返回所有用戶組',
  134.         @level0type=N'USER',
  135.         @level0name=N'dbo',
  136.         @level1type=N'VIEW',
  137.         @level1name=N'vGroupsAll'
  138. GO

  139. --------------------------------------------------
  140. --- 視圖:vGroupsCurrent
  141. --- 用途:當(dāng)前已啟用的用戶組
  142. --- 依賴:dbo.USysGroups/dbo._ftUSysGroups
  143. --------------------------------------------------
  144. CREATE VIEW [dbo].[vGroupsCurrent]
  145. AS
  146.         SELECT [GID]
  147.                 ,[GroupName]
  148.                 ,[IsSystem]
  149.                 ,[Description]
  150.                 ,[Enabled]
  151.                 ,[CreateTime]
  152.         FROM [dbo].[_ftUSysGroups](NULL, 1)
  153. GO

  154. EXEC sp_addextendedproperty
  155.         @name=N'MS_Description',
  156.         @value=N'返回當(dāng)前已啟用的用戶組',
  157.         @level0type=N'USER',
  158.         @level0name=N'dbo',
  159.         @level1type=N'VIEW',
  160.         @level1name=N'vGroupsCurrent'
  161. GO

  162. --------------------------------------------------
  163. --- 視圖:vGroupsSystemCurrent
  164. --- 用途:當(dāng)前已啟用的系統(tǒng)用戶組
  165. --- 依賴:dbo.USysGroups/dbo._ftUSysGroups
  166. --------------------------------------------------
  167. CREATE VIEW [dbo].[vGroupsSystemCurrent]
  168. AS
  169.         SELECT [GID]
  170.                 ,[GroupName]
  171.                 ,[IsSystem]
  172.                 ,[Description]
  173.                 ,[Enabled]
  174.                 ,[CreateTime]
  175.         FROM [dbo].[_ftUSysGroups](1, 1)
  176. GO

  177. EXEC sp_addextendedproperty
  178.         @name=N'MS_Description',
  179.         @value=N'返回當(dāng)前已啟用的系統(tǒng)用戶組',
  180.         @level0type=N'USER',
  181.         @level0name=N'dbo',
  182.         @level1type=N'VIEW',
  183.         @level1name=N'vGroupsSystemCurrent'
  184. GO

  185. --------------------------------------------------
  186. --- 視圖:vGroupsGeneralCurrent
  187. --- 用途:當(dāng)前已啟用的一般用戶組
  188. --- 依賴:dbo.USysGroups/dbo._ftUSysGroups
  189. --------------------------------------------------
  190. CREATE VIEW [dbo].[vGroupsGeneralCurrent]
  191. AS
  192.         SELECT [GID]
  193.                 ,[GroupName]
  194.                 ,[IsSystem]
  195.                 ,[Description]
  196.                 ,[Enabled]
  197.                 ,[CreateTime]
  198.         FROM [dbo].[_ftUSysGroups](0, 1)
  199. GO

  200. EXEC sp_addextendedproperty
  201.         @name=N'MS_Description',
  202.         @value=N'返回當(dāng)前已啟用的一般用戶組',
  203.         @level0type=N'USER',
  204.         @level0name=N'dbo',
  205.         @level1type=N'VIEW',
  206.         @level1name=N'vGroupsGeneralCurrent'
  207. GO

  208. --------------------------------------------------
  209. --- 視圖:vUsersGroupsCurrent
  210. --- 用途:返回所有當(dāng)前用戶的用戶組
  211. --- 依賴:dbo.USysUsers
  212. ---                  dbo.USysGroups
  213. ---                  dbo.USysGroupUsers
  214. ---                  dbo._ftUSysUsers
  215. ---                  dbo._ftUSysGroups
  216. --------------------------------------------------
  217. CREATE VIEW [dbo].[vUsersGroupsCurrent] AS
  218.         SELECT u.[UID]
  219.                 , u.[UserName]
  220.                 , u.[Password]
  221.                 , u.[IsSystem]
  222.                 , u.[Description]
  223.                 , u.[CreateTime]
  224.                 , u.[RealName]
  225.                 , u.[Gender]
  226.                 , u.[Birthday]
  227.                 , u.[Email]
  228.                 , u.[Company]
  229.                 , u.[Post]
  230.                 , u.[Title]
  231.                 , u.[Mobile]
  232.                 , u.[Tel]
  233.                 , u.[Province]
  234.                 , u.[City]
  235.                 , u.[ZipCode]
  236.                 , g.[GID]
  237.                 , g.[GroupName]
  238.                 , g.[IsSystem] AS g_IsSystem
  239.                 , g.[Description] AS g_Description
  240.                 , g.[Enabled] AS g_Enabled
  241.         FROM [dbo].[_ftUSysUsers](NULL, 1) AS u
  242.                  LEFT OUTER JOIN [dbo].[USysGroupUsers] AS ug ON u.[UID] = ug.[UID]
  243.                  LEFT OUTER JOIN [dbo].[_ftUSysGroups](NULL, 1) AS g ON ug.[GID] = g.[GID]
  244. GO

  245. EXEC sp_addextendedproperty
  246.         @name=N'MS_Description',
  247.         @value=N'返回所有當(dāng)前用戶的用戶組',
  248.         @level0type=N'USER',
  249.         @level0name=N'dbo',
  250.         @level1type=N'VIEW',
  251.         @level1name=N'vUsersGroupsCurrent'
  252. GO

  253. --------------------------------------------------
  254. --- 視圖:vGroupsUsersCurrent
  255. --- 用途:返回所有當(dāng)前用戶組的用戶
  256. --- 依賴:dbo.USysUsers
  257. ---                 dbo.USysGroups
  258. ---                 dbo.USysGroupUsers
  259. ---                 dbo._ftUSysUsers
  260. ---                 dbo._ftUSysGroups
  261. --------------------------------------------------
  262. CREATE VIEW [dbo].[vGroupsUsersCurrent] AS
  263.         SELECT        g.[GID]
  264.                 , g.[GroupName]
  265.                 , g.[IsSystem]
  266.                 , g.[Description]
  267.                 , g.[Enabled]
  268.                 , u.[UID]
  269.                 , u.[UserName]
  270.                 , u.[Password]
  271.                 , u.[IsSystem] AS u_IsSystem
  272.                 , u.[Description] AS u_Description
  273.                 , u.[CreateTime]
  274.                 , u.[RealName]
  275.                 , u.[Gender]
  276.                 , u.[Birthday]
  277.                 , u.[Email]
  278.                 , u.[Company]
  279.                 , u.[Post]
  280.                 , u.[Title]
  281.                 , u.[Mobile]
  282.                 , u.[Tel]
  283.                 , u.[Province]
  284.                 , u.[City]
  285.                 , u.[ZipCode]
  286.         FROM [dbo].[_ftUSysUsers](NULL, 1) AS u
  287.                 RIGHT OUTER JOIN [dbo].[USysGroupUsers] AS ug ON u.[UID] = ug.[UID]
  288.                 RIGHT OUTER JOIN [dbo].[_ftUSysGroups](NULL, 1) AS g ON ug.[GID] = g.[GID]
  289. GO

  290. EXEC sp_addextendedproperty
  291.         @name=N'MS_Description',
  292.         @value=N'返回所有當(dāng)前用戶組的用戶',
  293.         @level0type=N'USER',
  294.         @level0name=N'dbo',
  295.         @level1type=N'VIEW',
  296.         @level1name=N'vGroupsUsersCurrent'
  297. GO
復(fù)制代碼

點(diǎn)擊這里給我發(fā)消息

9#
 樓主| 發(fā)表于 2012-2-14 23:06:48 | 只看該作者
系統(tǒng)數(shù)據(jù)
  1. /*************************************************
  2. --- 創(chuàng)建系統(tǒng)數(shù)據(jù)
  3. **************************************************/

  4. --- 創(chuàng)建版本數(shù)據(jù)
  5. INSERT INTO [dbo].[USysVersion]
  6.         ([DBSystem],[Main],[Sub],[CreateDate]) VALUES
  7.         ('Microsoft SQL Server 8.0.2039',1,0,'2012-01-01 1:00:00')
  8. GO

  9. --- 創(chuàng)建系統(tǒng)帳戶
  10. SET IDENTITY_INSERT [dbo].[USysUsers] ON
  11. GO
  12. INSERT [dbo].[USysUsers]
  13.         ([UID],        [UserName],        [Password],        [IsSystem],        [Description],        [Enabled],        [CreateTime]) VALUES
  14.         (0,                N'Guest',        '',                        1,                        N'匿名來(lái)賓用戶',        0,                        '2012-01-01 1:00:00')
  15. INSERT [dbo].[USysUsers]
  16.         ([UID],        [UserName],        [Password],        [IsSystem],        [Description],        [Enabled],        [CreateTime]) VALUES
  17.         (1,                N'Administrator','sys',        1,                        N'系統(tǒng)管理員',        1,                        '2012-01-01 1:00:00')
  18. GO
  19. SET IDENTITY_INSERT [dbo].[USysUsers] OFF
  20. GO

  21. --- 創(chuàng)建系統(tǒng)用戶組
  22. SET IDENTITY_INSERT [dbo].[USysGroups] ON
  23. GO
  24. INSERT [dbo].[USysGroups]
  25.         ([GID],        [GroupName],        [IsSystem],        [Description],        [Enabled],        [CreateTime]) VALUES
  26.         (0,                N'Guests',                1,                        N'來(lái)賓用戶組',        1,                        '2012-01-01 1:00:00')
  27. INSERT [dbo].[USysGroups]
  28.         ([GID],        [GroupName],        [IsSystem],        [Description],        [Enabled],[CreateTime]) VALUES
  29.         (1,                N'Administrators',1,                N'系統(tǒng)管理員',        1,                        '2012-01-01 1:00:00')
  30. INSERT [dbo].[USysGroups]
  31.         ([GID],        [GroupName],        [IsSystem],        [Description],        [Enabled],        [CreateTime]) VALUES
  32.         (2,                N'Power Users',        1,                        N'一般用戶組',        1,                        '2012-01-01 1:00:00')
  33. GO
  34. SET IDENTITY_INSERT [dbo].[USysGroups] OFF
  35. GO

  36. /* 添加系統(tǒng)用戶組用戶 */
  37. EXEC [dbo].[paGroupAddUser] @GID=0, @UID=0
  38. EXEC [dbo].[paGroupAddUser] @GID=1, @UID=1
  39. GO
復(fù)制代碼
10#
發(fā)表于 2012-2-14 23:07:45 | 只看該作者
很好的腳本,值得借鑒這個(gè)不知朱老大在用SQL 05 還是08版本
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 05:01 , Processed in 0.109899 second(s), 40 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表