Skip to content

Instantly share code, notes, and snippets.

@tanaka-takayoshi
Created February 21, 2014 13:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tanaka-takayoshi/9133915 to your computer and use it in GitHub Desktop.
Save tanaka-takayoshi/9133915 to your computer and use it in GitHub Desktop.
CREATE TABLE [<MobileServiceName>].[UserDevices] (
[id] NVARCHAR (255) CONSTRAINT [DF_UserDevices_id] DEFAULT (CONVERT([nvarchar](255),newid(),(0))) NOT NULL,
[__createdAt] DATETIMEOFFSET (3) CONSTRAINT [DF_UserDevices___createdAt] DEFAULT (CONVERT([datetimeoffset](3),sysutcdatetime(),(0))) NOT NULL,
[__updatedAt] DATETIMEOFFSET (3) NULL,
[__version] ROWVERSION NOT NULL,
[userId] NVARCHAR (450) NULL,
[deviceId] NVARCHAR (MAX) NULL,
[channeluri] NVARCHAR (MAX) NULL,
PRIMARY KEY NONCLUSTERED ([id] ASC)
);
GO
CREATE CLUSTERED INDEX [__createdAt]
ON [<MobileServiceName>].[UserDevices]([__createdAt] ASC);
GO
CREATE NONCLUSTERED INDEX [userId]
ON [<MobileServiceName>].[UserDevices]([userId] ASC);
GO
CREATE TRIGGER [<MobileServiceName>].[TR_UserDevices_InsertUpdateDelete] ON [<MobileServiceName>].[UserDevices]
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
SET NOCOUNT ON;
IF TRIGGER_NESTLEVEL() > 3 RETURN;
UPDATE [<MobileServiceName>].[UserDevices] SET [<MobileServiceName>].[UserDevices].[__updatedAt] = CONVERT (DATETIMEOFFSET(3), SYSUTCDATETIME())
FROM INSERTED
WHERE INSERTED.id = [<MobileServiceName>].[UserDevices].[id]
END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment