You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CREATE TABLE [dbo].[CompositeKeyTable](
[Key1] [int] NOT NULL,
[Key2] [int] NOT NULL,
[Data] [nvarchar](200) NULL,
CONSTRAINT [PK_CompositeKeyTable] PRIMARY KEY CLUSTERED
(
[Key1] ASC,
[Key2] ASC
) ON [PRIMARY]
) ON [PRIMARY]
MultiIndexTable
CREATE TABLE [dbo].[MultiIndexTable](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Category] [nvarchar](50) NOT NULL,
[Status] [int] NOT NULL,
CONSTRAINT [PK_MultiIndexTable] PRIMARY KEY CLUSTERED
(
[Id] ASC
) ON [PRIMARY]
) ON [PRIMARY]
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
(
[Category] ASC,
[Name] ASC
) ON [PRIMARY]
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
(
[Name] ASC
) ON [PRIMARY]
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
(
[Status] DESC,
[Name] ASC
) ON [PRIMARY]
MultiTriggerTable
CREATE TABLE [dbo].[MultiTriggerTable](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NULL,
CONSTRAINT [PK_MultiTriggerTable] PRIMARY KEY CLUSTERED
(
[Id] ASC
) ON [PRIMARY]
) ON [PRIMARY]
CREATETRIGGERTR_MultiTrigger_DeleteON MultiTriggerTable
AFTER DELETEAS RAISERROR ('Delete detected', 16, 10);
ALTERTABLE [dbo].[MultiTriggerTable] ENABLE TRIGGER [TR_MultiTrigger_Delete]
CREATETRIGGERTR_MultiTrigger_InsertON MultiTriggerTable
AFTER INSERT
AS RAISERROR ('Insert detected', 16, 10);
ALTERTABLE [dbo].[MultiTriggerTable] ENABLE TRIGGER [TR_MultiTrigger_Insert]
CREATETRIGGERTR_MultiTrigger_UpdateON MultiTriggerTable
AFTER UPDATEAS RAISERROR ('Update detected', 16, 10);
ALTERTABLE [dbo].[MultiTriggerTable] ENABLE TRIGGER [TR_MultiTrigger_Update]
MyOtherTable
CREATE TABLE [dbo].[MyOtherTable](
[Value] [int] NULL
) ON [PRIMARY]
MyTable
CREATE TABLE [dbo].[MyTable](
[Value] [int] NULL
) ON [PRIMARY]
CREATE NONCLUSTERED INDEX [MyIndex] ON [dbo].[MyTable]
(
[Value] ASC
) ON [PRIMARY]
CREATETRIGGERMyTriggerON MyTable
AFTER UPDATEAS RAISERROR ('Notify Customer Relations', 16, 10);
ALTERTABLE [dbo].[MyTable] ENABLE TRIGGER [MyTrigger]
ParentTable
CREATE TABLE [dbo].[ParentTable](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
CONSTRAINT [PK_ParentTable] PRIMARY KEY CLUSTERED
(
[Id] ASC
) ON [PRIMARY],
CONSTRAINT [UQ_ParentTable_Name] UNIQUE NONCLUSTERED
(
[Name] ASC
) ON [PRIMARY]
) ON [PRIMARY]
WithComputed
CREATE TABLE [dbo].[WithComputed](
[Id] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [nvarchar](50) NOT NULL,
[LastName] [nvarchar](50) NOT NULL,
[FullName] AS (([FirstName]+'')+[LastName]),
[Quantity] [int] NOT NULL,
[UnitPrice] [decimal](10, 2) NOT NULL,
[TotalPrice] AS ([Quantity]*[UnitPrice]) PERSISTED,
CONSTRAINT [PK_WithComputed] PRIMARY KEY CLUSTERED
(
[Id] ASC
) ON [PRIMARY]
) ON [PRIMARY]
WithDefaults
CREATE TABLE [dbo].[WithDefaults](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Status] [varchar](20) NOT NULL,
[Created] [datetime2](7) NOT NULL,
[Score] [int] NOT NULL,
CONSTRAINT [PK_WithDefaults] PRIMARY KEY CLUSTERED
(
[Id] ASC
) ON [PRIMARY]
) ON [PRIMARY]
SchemaTable
CREATE TABLE [TestSchema].[SchemaTable](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_SchemaTable] PRIMARY KEY CLUSTERED
(
[Id] ASC
) ON [PRIMARY]
) ON [PRIMARY]
Views
MyView
CREATEVIEWMyViewASSELECT Value
FROM MyTable
WHERE (Value >10);
MyViewWithJoin
CREATEVIEWMyViewWithJoinASSELECTc.Id, c.Value, p.NameAS ParentName
FROM ChildTable c
INNER JOIN ParentTable p ONc.ParentId=p.Id;
MyViewWithSchemabinding
CREATEVIEWMyViewWithSchemabinding
WITH SCHEMABINDING
ASSELECT Id, Name
FROMdbo.ParentTable;
SchemaView
CREATEVIEWTestSchema.SchemaView
ASSELECT Id, Name
FROMTestSchema.SchemaTable;
StoredProcedures
MyProcedure
CREATE PROCEDURE MyProcedure
ASBEGINSET NOCOUNT ON;
SELECT Value
FROM MyTable
WHERE (Value >10);
END;
ProcWithAnsiNullsOff
CREATE PROCEDURE ProcWithAnsiNullsOff
ASBEGINSELECT Value FROM MyTable;
END;
ProcWithParams
CREATE PROCEDURE ProcWithParams
@Id int,
@Name nvarchar(100),
@Count int OUTPUT
ASBEGINSET NOCOUNT ON;
SELECT @Count =COUNT(*)
FROM ParentTable
WHERE Id = @Id AND Name = @Name;
END;
SchemaProc
CREATE PROCEDURE TestSchema.SchemaProcASBEGINSELECT Id, Name
FROMTestSchema.SchemaTable;
END;
UserDefinedFunctions
InlineTableFunction
CREATEFUNCTIONInlineTableFunction(@MinValue int)
RETURNS TABLE
AS
RETURN
SELECT Value
FROM MyTable
WHERE Value >= @MinValue;
MultiStatementTableFunction
CREATEFUNCTIONMultiStatementTableFunction(@MinValue int)
RETURNS @Result TABLE (Value int, Category nvarchar(20))
ASBEGININSERT INTO @Result
SELECT Value,
CASE
WHEN Value <10 THEN 'Low'
WHEN Value <100 THEN 'Medium'
ELSE 'High'
END
FROM MyTable
WHERE Value >= @MinValue;
RETURN;
END;