DDL: Alter Statements
Tables
Add
Let’s add a new column to a table.
ALTER TABLE dbo.Songs
ADD year int;
Alter Column
Let’s change the datatype of a column.
ALTER TABLE dbo.Songs
ALTER COLUMN Name varchar(255);
Drop Column
Let’s remove a column from a table.
ALTER TABLE dbo.Songs
DROP COLUMN year;
Note: Why do we have the inconsistency that we write DROP COLUMN
but not ADD COLUMN
?
Perhaps this is because DROP
is a separate family of DDL statements from ALTER
.
Having DROP COLUMN
avoids the potential confusion of getting our DDL mixed up.
Views
Let’s change the WHERE
clause in the view dbo.vLongSong
.
ALTER VIEW dbo.vLongSong AS -- alter instead of create
SELECT
*
FROM dbo.Song
WHERE Duration > 600; -- changed from 300
Index
Let’s rebuild our index.
ALTER INDEX IX_NAME ON dbo.Songs REBUILD;
Stored Procedure
Let’s alter our stored procedure.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE dbo.spSelectTableAndView -- alter instead of create
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP 1000 * FROM dbo.Songs; -- now top 1000
SELECT TOP 1000 * FROM dbo.vLongSongs; -- now top 1000
END