⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ajaxchat sql2005.sql

📁 a project create chat room in asp.net with c sharp and ajax
💻 SQL
📖 第 1 页 / 共 2 页
字号:
		INSERT INTO ChatRooms
			(cr_name, cr_topic, cr_password, cr_maxusers, cr_visible)
		VALUES
			(@Name, @Topic, @Password, @MaxUsers, @Visible)

		SELECT @@Identity

	END
	ELSE
	BEGIN
		UPDATE ChatRooms
		SET cr_name = @Name,
			cr_topic = @Topic,
			cr_password = @Password,
			cr_maxusers = @MaxUsers,
			cr_visible = @Visible
		WHERE cr_id = @Id
	
	END
END
GO
/****** Object:  StoredProcedure [dbo].[DeleteChatRoom]    Script Date: 04/18/2008 17:35:44 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[DeleteChatRoom]
(
	@ID	INT,
	@Name NVARCHAR(100)
)
 AS

DELETE FROM ChatRooms 
WHERE 
	(@ID IS NULL OR cr_id = @ID) AND
	(@Name IS NULL OR cr_name = @Name)
GO
/****** Object:  StoredProcedure [dbo].[FetchChatUsers]    Script Date: 04/18/2008 17:35:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[FetchChatUsers]
	@Id int = null,
	@Username varchar(100) = null,
	@DisplayName nvarchar(200) = null,
	@Ip varchar(15) = null
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    SELECT
		cu_id as Id,
		cu_username as Username,
		cu_displayname as DisplayName,
		cu_password	as Password,
		cu_gender as Gender,
		cu_begintime as BeginTime,
		cu_lastactive as LastActive,
		cu_ip as Ip,
		cu_lastactiveguid as [Guid],
		cu_thumbimage as ThumbImage
	FROM
		ChatUsers
	WHERE
		(@Id is null OR @Id = cu_id)
		AND (@Username is null OR @Username = cu_username)
		AND (@DisplayName is null OR @DisplayName = cu_displayname)
		AND (@Ip is null OR @Ip = cu_ip)
END
GO
/****** Object:  StoredProcedure [dbo].[SaveChatUser]    Script Date: 04/18/2008 17:35:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SaveChatUser]
	@Id int = null,
	@Username varchar(100),
	@DisplayName nvarchar(200),
	@Password	char(40),
	@Gender		int,
	@BeginTime datetime = getdate,
	@LastActive datetime = getdate,
	@Ip varchar(15),
	@LastActiveGuid	char(36),
	@ThumbImage varchar(500)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    IF (@Id IS NULL)
	BEGIN

		INSERT INTO ChatUsers
			(cu_username, cu_displayname, cu_password, cu_gender, cu_begintime, cu_lastactive, cu_ip, cu_lastactiveguid, cu_thumbimage)
		VALUES
			(@Username, @DisplayName, @Password, @Gender, @BeginTime, @LastActive, @Ip, @LastActiveGuid, @ThumbImage)

		SELECT @@Identity

	END
	ELSE
	BEGIN

		UPDATE ChatUsers
		SET cu_username = @Username, cu_displayname = @DisplayName,
			cu_password = @Password, cu_gender = @Gender, cu_begintime = @BeginTime,
			cu_lastactive = @LastActive, cu_ip = @Ip, cu_lastactiveguid = @LastActiveGuid,
			cu_thumbimage = @ThumbImage
		WHERE cu_id = @Id
	
	END
END
GO
/****** Object:  StoredProcedure [dbo].[IsRoomAdmin]    Script Date: 04/18/2008 17:35:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[IsRoomAdmin]
	@UserId int,
	@ChatRoomId int
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

	IF EXISTS(SELECT cu_id FROM ChatRoomAdmins WHERE cu_id = @UserId AND cr_id = @ChatRoomId)
		SELECT CAST(1 AS BIT)
	ELSE
		SELECT CAST(0 AS BIT)
END
GO
/****** Object:  StoredProcedure [dbo].[CreateChatRoomAdmin]    Script Date: 04/18/2008 17:35:43 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[CreateChatRoomAdmin]
(
	@UserId	int,
	@ChatRoomId int
)
AS
BEGIN
	IF NOT EXISTS(SELECT cu_id FROM ChatRoomAdmins WHERE cu_id = @UserId AND cr_id = @ChatRoomId)
		INSERT INTO ChatRoomAdmins
			(cu_id, cr_id)
		VALUES
			(@UserId, @ChatRoomId)
END
GO
/****** Object:  StoredProcedure [dbo].[DeleteChatRoomAdmin]    Script Date: 04/18/2008 17:35:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteChatRoomAdmin] 
(
	@UserId	int,
	@ChatRoomId int
)
AS

DELETE FROM ChatRoomAdmins WHERE cu_id = @UserId AND cr_id = @ChatRoomId
GO
/****** Object:  StoredProcedure [dbo].[FetchChatRoomAdmins]    Script Date: 04/18/2008 17:35:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[FetchChatRoomAdmins] 
(
	@ChatRoomId int
)
AS

SELECT cu_id as UserId FROM ChatRoomAdmins WHERE cr_id = @ChatRoomId
GO
/****** Object:  StoredProcedure [dbo].[FetchChatMessages]    Script Date: 04/18/2008 17:35:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[FetchChatMessages] 
(
	@RoomId	int,
	@FromId	int = null,
	@SenderId	int = null,
	@TargetId	int = null,
	@TargetIdCanBeNull	bit = 0,
	@NotIgnoredById	int = null
)
AS
BEGIN
	SET NOCOUNT ON;

    SELECT top 50
		cm_id	as Id,
		cm_type as [Type],
		cm_time	as [Time],
		cr_id	as RoomId,
		cu_id_sender	as SenderId,
		cm_senderdisplayname	as SenderDisplayName,
		cu_id_target	as TargetId,
		cm_text	as [Text],
		cm_texthtml	as TextHtml
	FROM
		ChatMessages
	WHERE (@RoomId IS NULL OR cr_id = @RoomId)
		AND (@FromId IS NULL OR cm_id > @FromId)
		AND (@SenderId IS NULL OR cu_id_sender = @SenderId)
		AND (@TargetId IS NULL OR cu_id_target = @TargetId OR 
				(@TargetIdCanBeNull = 1 AND cu_id_target IS NULL))
		AND (@NotIgnoredById IS NULL OR NOT EXISTS
				(SELECT 1 FROM ChatIgnoredUsers 
				WHERE cu_id = @NotIgnoredById 
					AND ciu_ignoreduserid = cu_id_sender))
	ORDER BY cm_id DESC
END
GO
/****** Object:  StoredProcedure [dbo].[FetchChatIgnores]    Script Date: 04/18/2008 17:35:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[FetchChatIgnores] 
(
	@UserId	int,
	@IgnoredUserId	int
)
AS
BEGIN
	SET NOCOUNT ON;

	SELECT 
		cu_id as UserId,
		ciu_ignoreduserid as IgnoredUserId,
		ciu_ignoredate	as IgnoreDate
	FROM
		ChatIgnoredUsers
	WHERE
		(@UserId IS NULL OR cu_id = @UserId) AND
		(@IgnoredUserId IS NULL OR ciu_ignoreduserid = @IgnoredUserId)
END
GO
/****** Object:  StoredProcedure [dbo].[SaveChatIgnore]    Script Date: 04/18/2008 17:35:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SaveChatIgnore] 
(
	@UserId	int,
	@IgnoredUserId	int,
	@IgnoreDate datetime
)
AS
BEGIN
	IF NOT EXISTS (SELECT 1 FROM ChatIgnoredUsers WHERE cu_id = @UserId AND ciu_ignoreduserid = @IgnoredUserId)
		INSERT INTO ChatIgnoredUsers
			(cu_id, ciu_ignoreduserid, ciu_ignoredate)
		VALUES
			(@UserId, @IgnoredUserId, @IgnoreDate)
	ELSE
		UPDATE ChatIgnoredUsers
		SET
			ciu_ignoredate = @IgnoreDate
		WHERE
			cu_id = @UserId AND ciu_ignoreduserid = @IgnoredUserId
END
GO
/****** Object:  StoredProcedure [dbo].[FetchChatTranslation]    Script Date: 04/18/2008 17:35:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[FetchChatTranslation] 
(
	@LanguageId	INT = 1,
	@Key		NVARCHAR(400)
)
AS

SELECT
	ct_value as Value
FROM
	ChatTranslations
WHERE
	l_id = @LanguageId AND
	ct_key = @Key
GO
/****** Object:  StoredProcedure [dbo].[SaveChatTranslation]    Script Date: 04/18/2008 17:35:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SaveChatTranslation] 
(
	@LanguageId	INT = 1,
	@Key		NVARCHAR(400),
	@Value		NVARCHAR(400),
	@ClientSide	BIT
)
AS

IF NOT EXISTS (SELECT ct_key FROM ChatTranslations WHERE l_id = @LanguageId AND ct_key = @Key)
BEGIN
	INSERT INTO ChatTranslations
		(l_id, ct_key, ct_value, ct_clientside)
	VALUES
		(@LanguageId, @Key, @Value, @ClientSide)
END
ELSE
BEGIN
	UPDATE ChatTranslations
	SET ct_value = @Value
	WHERE l_id = @LanguageId AND ct_key = @Key
END
GO
/****** Object:  StoredProcedure [dbo].[FetchClientChatTranslations]    Script Date: 04/18/2008 17:35:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[FetchClientChatTranslations] 
(
	@LanguageId	INT = 1
)
AS

SELECT
	ct_key as [Key],
	ct_value as [Value]
FROM
	ChatTranslations
WHERE
	l_id = @LanguageId AND ct_clientside = 1
GO
/****** Object:  StoredProcedure [dbo].[FetchChatTranslationKeys]    Script Date: 04/18/2008 17:35:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[FetchChatTranslationKeys] 
(
	@LanguageId	INT = 1
)
AS

SELECT 
	DISTINCT ct_key as [Key]
FROM
	ChatTranslations
GO
/****** Object:  StoredProcedure [dbo].[UpdateLastOnline]    Script Date: 04/18/2008 17:36:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateLastOnline]
	@Username nvarchar(100)
AS
BEGIN
	SET NOCOUNT ON;

    IF EXISTS (SELECT 1 FROM ChatPresence WHERE cp_username = @Username)
		UPDATE ChatPresence SET cp_lastonline = getdate() WHERE cp_username = @Username
	ELSE
		INSERT INTO ChatPresence VALUES (@Username, getdate())

END
GO
/****** Object:  StoredProcedure [dbo].[GetOnlineUsers]    Script Date: 04/18/2008 17:35:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetOnlineUsers]
	@Username nvarchar(100) = NULL,
	@PresenceTimeout int
AS
BEGIN
	SET NOCOUNT ON;

    SELECT cp_username as Username
	FROM ChatPresence
	WHERE (@Username IS NULL OR cp_username = @Username)
		AND DATEADD(s, @PresenceTimeout, cp_lastonline) > getdate()

END
GO
/****** Object:  StoredProcedure [dbo].[SaveChatMessage]    Script Date: 04/18/2008 17:35:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SaveChatMessage] 
	@Id int = null,
	@Type int = 0,
	@Time datetime = getdate,
	@ChatRoomId	int = null,
	@SenderUserId int = null,
	@SenderDisplayName nvarchar(100),
	@TargetUserId int = null,
	@Text nvarchar(2000),
	@TextHtml nvarchar(2000)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    IF (@Id IS NULL)
	BEGIN

		INSERT INTO ChatMessages
			(cm_time, cm_type, cr_id, cu_id_sender, cm_senderdisplayname, cu_id_target, cm_text, cm_texthtml)
		VALUES
			(@Time, @Type, @ChatRoomId, @SenderUserId, @SenderDisplayName, @TargetUserId, @Text, @TextHtml)

		SELECT @@Identity

	END
	ELSE
	BEGIN

		UPDATE ChatMessages
		SET cm_type = @Type, cm_time = @Time, cr_id = @ChatRoomId, cu_id_sender = @SenderUserId, 
			cm_senderdisplayname = @SenderDisplayName, cu_id_target = @TargetUserId, cm_text = @Text,
			cm_texthtml = @TextHtml
		WHERE cr_id = @Id
	
	END
END
GO
/****** Object:  StoredProcedure [dbo].[GetChatOnlineUsers]    Script Date: 04/18/2008 17:35:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetChatOnlineUsers]
	@ChatRoomId int,
	@OnlineTimeout int
AS
BEGIN
	SET NOCOUNT ON;

    SELECT cra_userid as UserId,
		cra_roomid as RoomId,
		cra_username as Username,
		cra_displayname as DisplayName,
		cra_lastonline as LastOnline
	FROM ChatRoomActivity
	WHERE (@ChatRoomId IS NULL OR cra_roomid = @ChatRoomId)
		AND DATEADD(s, @OnlineTimeout, cra_lastonline) > getdate()

END
GO
/****** Object:  StoredProcedure [dbo].[SetChatOnlineUser]    Script Date: 04/18/2008 17:35:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SetChatOnlineUser]
	@RoomId int,
	@UserId int,
	@Username varchar(100),
	@DisplayName nvarchar(100),
	@Delete bit = 0
AS
BEGIN
	SET NOCOUNT ON;

	IF (@Delete = 1)
		DELETE FROM ChatRoomActivity 
		WHERE cra_roomid = @RoomId 
			AND cra_userid = @UserId
	ELSE
	IF (EXISTS (SELECT 1 FROM ChatRoomActivity 
				WHERE cra_roomid = @RoomId 
				AND cra_userid = @UserId))
		UPDATE ChatRoomActivity
		SET cra_lastonline = getdate()
		WHERE cra_roomid = @RoomId 
			AND cra_userid = @UserId
	ELSE
		INSERT INTO ChatRoomActivity VALUES
		(@UserId, @RoomId, @Username, @DisplayName, getdate())
END
GO
/****** Object:  ForeignKey [FK_ChatIgnoredUsers_ChatIgnoredUsers]    Script Date: 04/18/2008 17:36:08 ******/
ALTER TABLE [dbo].[ChatIgnoredUsers]  WITH CHECK ADD  CONSTRAINT [FK_ChatIgnoredUsers_ChatIgnoredUsers] FOREIGN KEY([cu_id])
REFERENCES [dbo].[ChatUsers] ([cu_id])
GO
ALTER TABLE [dbo].[ChatIgnoredUsers] CHECK CONSTRAINT [FK_ChatIgnoredUsers_ChatIgnoredUsers]
GO
/****** Object:  ForeignKey [FK_ChatIgnoredUsers_ChatUsers]    Script Date: 04/18/2008 17:36:08 ******/
ALTER TABLE [dbo].[ChatIgnoredUsers]  WITH CHECK ADD  CONSTRAINT [FK_ChatIgnoredUsers_ChatUsers] FOREIGN KEY([ciu_ignoreduserid])
REFERENCES [dbo].[ChatUsers] ([cu_id])
GO
ALTER TABLE [dbo].[ChatIgnoredUsers] CHECK CONSTRAINT [FK_ChatIgnoredUsers_ChatUsers]
GO

-- INSERT DEFAULT ADMIN ACCOUNT (admin/admin) into ChatAdmins table 
INSERT INTO ChatAdmins 
(ca_username,ca_password) 
VALUES 
('admin','D033E22AE348AEB5660FC2140AEC35850C4DA997')
GO 

INSERT INTO [ChatRooms] (
	[cr_name],
	[cr_visible]
) VALUES ( N'Main Chat', 1 ) 
GO

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -