📄 installpersonalization.sql
字号:
/**********************************************************************/
/* InstallPersonalization.SQL */
/* */
/* Installs the tables, triggers and stored procedures necessary for */
/* supporting the personalization feature of ASP.NET */
/* */
/* InstallCommon.sql must be run before running this file. */
/*
** Copyright Microsoft, Inc. 2002
** All Rights Reserved.
*/
/**********************************************************************/
PRINT '------------------------------------------------'
PRINT 'Starting execution of InstallPersonalization.SQL'
PRINT '------------------------------------------------'
GO
SET QUOTED_IDENTIFIER OFF
SET ANSI_NULLS ON -- We don't want (NULL = NULL) == TRUE
GO
SET ANSI_PADDING ON
GO
SET ANSI_NULL_DFLT_ON ON
GO
/*************************************************************/
/*************************************************************/
/*************************************************************/
/*************************************************************/
/*************************************************************/
IF (NOT EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_Applications')
AND (type = 'U')))
BEGIN
RAISERROR('The table ''aspnet_Applications'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1)
END
IF (NOT EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_Users')
AND (type = 'U')))
BEGIN
RAISERROR('The table ''aspnet_Users'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1)
END
IF (NOT EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_Applications_CreateApplication')
AND (type = 'P')))
BEGIN
RAISERROR('The stored procedure ''aspnet_Applications_CreateApplication'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1)
END
IF (NOT EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_Users_CreateUser')
AND (type = 'P')))
BEGIN
RAISERROR('The stored procedure ''aspnet_Users_CreateUser'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1)
END
IF (NOT EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_Users_DeleteUser')
AND (type = 'P')))
BEGIN
RAISERROR('The stored procedure ''aspnet_Users_DeleteUser'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1)
END
/***************************************************************************************************************************/
/***************************************************************************************************************************/
IF (NOT EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_Paths')
AND (type = 'U')))
BEGIN
PRINT 'Creating the aspnet_Paths table...'
CREATE TABLE dbo.aspnet_Paths (
ApplicationId UNIQUEIDENTIFIER NOT NULL FOREIGN KEY REFERENCES dbo.aspnet_Applications(ApplicationId),
PathId UNIQUEIDENTIFIER PRIMARY KEY NONCLUSTERED DEFAULT NEWID(),
Path NVARCHAR(256) NOT NULL,
LoweredPath NVARCHAR(256) NOT NULL)
CREATE UNIQUE CLUSTERED INDEX aspnet_Paths_index ON dbo.aspnet_Paths(ApplicationId, LoweredPath)
END
/***************************************************************************************************************************/
/***************************************************************************************************************************/
IF (EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_Personalization_GetApplicationId')
AND (type = 'P')))
DROP PROCEDURE dbo.aspnet_Personalization_GetApplicationId
GO
CREATE PROCEDURE dbo.aspnet_Personalization_GetApplicationId (
@ApplicationName NVARCHAR(256),
@ApplicationId UNIQUEIDENTIFIER OUT)
AS
BEGIN
SELECT @ApplicationId = ApplicationId FROM dbo.aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName
END
GO
/***************************************************************************************************************************/
/***************************************************************************************************************************/
IF (EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_Paths_CreatePath')
AND (type = 'P')))
DROP PROCEDURE dbo.aspnet_Paths_CreatePath
GO
CREATE PROCEDURE dbo.aspnet_Paths_CreatePath
@ApplicationId UNIQUEIDENTIFIER,
@Path NVARCHAR(256),
@PathId UNIQUEIDENTIFIER OUTPUT
AS
BEGIN
BEGIN TRANSACTION
IF (NOT EXISTS(SELECT * FROM dbo.aspnet_Paths WHERE LoweredPath = LOWER(@Path) AND ApplicationId = @ApplicationId))
BEGIN
INSERT dbo.aspnet_Paths (ApplicationId, Path, LoweredPath) VALUES (@ApplicationId, @Path, LOWER(@Path))
END
COMMIT TRANSACTION
SELECT @PathId = PathId FROM dbo.aspnet_Paths WHERE LOWER(@Path) = LoweredPath AND ApplicationId = @ApplicationId
END
GO
/***************************************************************************************************************************/
IF (NOT EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_PersonalizationAllUsers')
AND (type = 'U')))
BEGIN
PRINT 'Creating the aspnet_PersonalizationAllUsers table...'
CREATE TABLE dbo.aspnet_PersonalizationAllUsers (
PathId UNIQUEIDENTIFIER PRIMARY KEY FOREIGN KEY REFERENCES dbo.aspnet_Paths (PathId),
PageSettings IMAGE NOT NULL,
LastUpdatedDate DATETIME NOT NULL)
END
IF (NOT EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_PersonalizationPerUser')
AND (type = 'U')))
BEGIN
PRINT 'Creating the aspnet_PersonalizationPerUser table...'
CREATE TABLE dbo.aspnet_PersonalizationPerUser (
Id UNIQUEIDENTIFIER NOT NULL PRIMARY KEY NONCLUSTERED DEFAULT NEWID(),
PathId UNIQUEIDENTIFIER FOREIGN KEY REFERENCES dbo.aspnet_Paths (PathId),
UserId UNIQUEIDENTIFIER FOREIGN KEY REFERENCES dbo.aspnet_Users (UserId),
PageSettings IMAGE NOT NULL,
LastUpdatedDate DATETIME NOT NULL)
CREATE UNIQUE CLUSTERED INDEX aspnet_PersonalizationPerUser_index1 ON [dbo].[aspnet_PersonalizationPerUser](PathId,UserId)
CREATE UNIQUE INDEX aspnet_PersonalizationPerUser_ncindex2 ON [dbo].[aspnet_PersonalizationPerUser](UserId,PathId)
END
IF (EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_PersonalizationAllUsers_GetPageSettings')
AND (type = 'P')))
DROP PROCEDURE dbo.aspnet_PersonalizationAllUsers_GetPageSettings
GO
CREATE PROCEDURE dbo.aspnet_PersonalizationAllUsers_GetPageSettings (
@ApplicationName NVARCHAR(256),
@Path NVARCHAR(256))
AS
BEGIN
DECLARE @ApplicationId UNIQUEIDENTIFIER
DECLARE @PathId UNIQUEIDENTIFIER
SELECT @ApplicationId = NULL
SELECT @PathId = NULL
EXEC dbo.aspnet_Personalization_GetApplicationId @ApplicationName, @ApplicationId OUTPUT
IF (@ApplicationId IS NULL)
BEGIN
RETURN
END
SELECT @PathId = u.PathId FROM dbo.aspnet_Paths u WHERE u.ApplicationId = @ApplicationId AND u.LoweredPath = LOWER(@Path)
IF (@PathId IS NULL)
BEGIN
RETURN
END
SELECT p.PageSettings FROM dbo.aspnet_PersonalizationAllUsers p WHERE p.PathId = @PathId
END
GO
IF (EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_PersonalizationAllUsers_ResetPageSettings')
AND (type = 'P')))
DROP PROCEDURE dbo.aspnet_PersonalizationAllUsers_ResetPageSettings
GO
CREATE PROCEDURE dbo.aspnet_PersonalizationAllUsers_ResetPageSettings (
@ApplicationName NVARCHAR(256),
@Path NVARCHAR(256))
AS
BEGIN
DECLARE @ApplicationId UNIQUEIDENTIFIER
DECLARE @PathId UNIQUEIDENTIFIER
SELECT @ApplicationId = NULL
SELECT @PathId = NULL
EXEC dbo.aspnet_Personalization_GetApplicationId @ApplicationName, @ApplicationId OUTPUT
IF (@ApplicationId IS NULL)
BEGIN
RETURN
END
SELECT @PathId = u.PathId FROM dbo.aspnet_Paths u WHERE u.ApplicationId = @ApplicationId AND u.LoweredPath = LOWER(@Path)
IF (@PathId IS NULL)
BEGIN
RETURN
END
DELETE FROM dbo.aspnet_PersonalizationAllUsers WHERE PathId = @PathId
RETURN 0
END
GO
IF (EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_PersonalizationAllUsers_SetPageSettings')
AND (type = 'P')))
DROP PROCEDURE dbo.aspnet_PersonalizationAllUsers_SetPageSettings
GO
CREATE PROCEDURE dbo.aspnet_PersonalizationAllUsers_SetPageSettings (
@ApplicationName NVARCHAR(256),
@Path NVARCHAR(256),
@PageSettings IMAGE,
@CurrentTimeUtc DATETIME)
AS
BEGIN
DECLARE @ApplicationId UNIQUEIDENTIFIER
DECLARE @PathId UNIQUEIDENTIFIER
SELECT @ApplicationId = NULL
SELECT @PathId = NULL
EXEC dbo.aspnet_Applications_CreateApplication @ApplicationName, @ApplicationId OUTPUT
SELECT @PathId = u.PathId FROM dbo.aspnet_Paths u WHERE u.ApplicationId = @ApplicationId AND u.LoweredPath = LOWER(@Path)
IF (@PathId IS NULL)
BEGIN
EXEC dbo.aspnet_Paths_CreatePath @ApplicationId, @Path, @PathId OUTPUT
END
IF (EXISTS(SELECT PathId FROM dbo.aspnet_PersonalizationAllUsers WHERE PathId = @PathId))
UPDATE dbo.aspnet_PersonalizationAllUsers SET PageSettings = @PageSettings, LastUpdatedDate = @CurrentTimeUtc WHERE PathId = @PathId
ELSE
INSERT INTO dbo.aspnet_PersonalizationAllUsers(PathId, PageSettings, LastUpdatedDate) VALUES (@PathId, @PageSettings, @CurrentTimeUtc)
RETURN 0
END
GO
IF (EXISTS (SELECT name
FROM sysobjects
WHERE (name = N'aspnet_PersonalizationPerUser_GetPageSettings')
AND (type = 'P')))
DROP PROCEDURE dbo.aspnet_PersonalizationPerUser_GetPageSettings
GO
CREATE PROCEDURE dbo.aspnet_PersonalizationPerUser_GetPageSettings (
@ApplicationName NVARCHAR(256),
@UserName NVARCHAR(256),
@Path NVARCHAR(256),
@CurrentTimeUtc DATETIME)
AS
BEGIN
DECLARE @ApplicationId UNIQUEIDENTIFIER
DECLARE @PathId UNIQUEIDENTIFIER
DECLARE @UserId UNIQUEIDENTIFIER
SELECT @ApplicationId = NULL
SELECT @PathId = NULL
SELECT @UserId = NULL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -