123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
-
-
-
- PRINT '描述接下来的若干段语句的功用,例:开始…………'
- IF EXISTS(某判断) BEGIN
- END
- IF NOT EXISTS(某判断) BEGIN
- END
- GO
- PRINT '结束…………'
- PRINT '描述本段语句的功能,例:建立表[……]'
- IF NOT EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME=N'表名')
- CREATE TABLE 表名(
- [字段名1] [varchar](10) NOT NULL,
- [字段名2] [numeric](5, 0) NOT NULL,
- …………,
- [字段名N] [varchar](10)
- ) GO
-
- PRINT '新增字段[……],默认值为……,字段含义为……'
- IF NOT EXISTS(SELECT * FROM syscolumns WHERE id=object_id('表名') and NAME='字段名')
- ALTER TABLE [表名] ADD [字段名] [字段类型] CONSTRAINT 默认值约束名 DEFAULT 默认值
- ELSE
- ALTER TABLE [表名] ALTER COLUMN [字段名] [字段类型] CONSTRAINT 默认值约束名
- DEFAULT 默认值
- GO
-
- PRINT '建立索引[……]'
- IF EXISTS (SELECT * FROM sysindexes WHERE name = N'索引名' AND id = object_id(N'表名'))
- DROP INDEX [表名].[索引名]
- GO
-
- CREATE INDEX [索引名] ON [表名] ([字段名])
- GO
-
- PRINT '建立视图[……]'
- IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'视图名') and OBJECTPROPERTY(id, N'IsView') = 1)
- DROP VIEW [视图名]
- GO
- CREATE VIEW [视图名] AS
-
- SELECT …… FROM ……
- GO
-
- PRINT '建立存储过程[…………]'
- IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'存储过程名') AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
- DROP PROCEDURE [存储过程名]
- GO
- CREATE PROCEDURE [存储过程名]
- @参数1 参数1类型,
- @参数2 参数2类型,
- …………
- @参数N 参数N类型
- AS
- BEGIN
-
- SET NOCOUNT ON
-
- DECLARE @sql NVarchar(4000)
-
-
-
-
- END
- GO
- PRINT '建立函数[…………]'
- IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'标量值函数名') AND xtype in (N'FN', N'IF', N'TF'))
- DROP FUNCTION [标量值函数名]
- GO
-
- CREATE FUNCTION [标量值函数名]
- (
- @参数1 参数1类型
- )
- RETURNS 返回值类型
- AS
- BEGIN
-
- DECLARE @ResultVar 返回值类型
-
- SET @ResultVar = ……
-
- RETURN @ResultVar
- END
- GO
-
- PRINT '建立函数[…………]'
- IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'内联表值函数名') AND xtype in (N'FN', N'IF', N'TF'))
- DROP FUNCTION [内联表值函数名]
- GO
-
- CREATE FUNCTION [内联表值函数名]
- (
- @参数1 参数1类型
- )
- RETURNS TABLE
- AS
- RETURN
- (
-
- SELECT * FROM [某表] WHERE 某字段 = @参数1
- )
- GO
-
- PRINT '建立函数[…………]'
- IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'多语句表值函数函数名') AND xtype in (N'FN', N'IF', N'TF'))
- DROP FUNCTION [多语句表值函数函数名]
- GO
- CREATE FUNCTION [多语句表值函数函数名]
- (
- @参数1 参数1类型
- )
- RETURNS
- @多语句表值函数的虚拟表名 TABLE
- (
- [字段名1] 字段类型1,
- [字段名1] 字段类型2
- )
- AS
- BEGIN
-
- INSERT INTO @多语句表值函数的虚拟表名 VALUES (值1,值2)
-
- RETURN
- END
- GO
- PRINT '建立触发器[…………]'
- IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'触发器名') AND xtype in (N'TR'))
- DROP TRIGGER [触发器名]
- GO
- CREATE TRIGGER [触发器名]
- ON 表名
- <AFTER 或 FOR> <INSERT 或 DELETE 或 UPDATE>
- AS
- BEGIN
- SET NOCOUNT ON;
-
-
-
- END
- GO
- PRINT '描述接下来的若干段语句的功用,例:开始处理……数据'
- PRINT '往表[表名]中插入或修改记录'
- IF NOT EXISTS (SELECT * FROM 表名 WHERE 主键字段 = '某值')
- INSERT INTO 表名 (字段列表)
- VALUES (值列表)
- ELSE
- UPDATE 表名 SET 字段名1 = 值1,字段名2 = 值2,……
- WHERE 主键字段 = '某值'
- GO
- PRINT '结束…………'
- PRINT '--所有操作结束--'
|