SQL总结与收集语句

SQL收集语句

 

创建表

create table employee
 (first varchar(15),
 last varchar(20),
 age number(3),
 address varchar(30),
 city varchar(20),
 state varchar(20));

 

修改表名与字段名:

1:更改orders表的列p_id 名称为 products_id

exec sp_rename 'orders.[p_id]','product_id','column'

2: 更改orders表的名称为p_orders

exec sp_rename 'orders','p_orders'

 

添加删除表字段

ALTER TABLE table_name ADD column_name datatype
ALTER TABLE table_name DROP COLUMN column_name


修改表字段

 

alter   table   表   alter   column   字段名   float 

 

视图

 

创建视图:

Create view test_view

as

select * from Fa_Family

with check option

 

修改视图:

alter view test_view

as

select * from Fa_Family

with check option

 

 

规则

 

创建规则:

create rule test_rule

as

@a>0

 

GO

 

绑定规则:

EXEC sp_bindrule '规则', '.字段'

存储过程

 

创建存储过程:

Create Proc sp_insert

@F_Code varchar(10),@F_Name varchar(100),@F_Address varchar(100),@F_tel int,@F_BuildDate smalldatetime,@F_TotalPersons int

as

insert into Fa_Family(Fa_Code,Fa_Name,Fa_Address,Fa_Tel,Fa_BuildDate,Fa_TotalPersons)Values

(@F_Code,@F_Name,@F_Address,@F_Tel,@F_BuildDate,@F_TotalPersons)

Return

系统相关

IS_SRVROLEMEMBER :

指明当前的用户登录是否是指定的服务器角色的成员。

返回类型

int

注释

IS_SRVROLEMEMBER 返回下面三个值。

返回值 描述
0 login 不是 role 的成员。
1 login role 的成员。
NULL role login 是无效的。

如果要通过程序检测当前用户是否可以执行某个活动(该活动要求服务器角色的权限),那么这个函数很有用。

如果为 login 指定一个 Windows NT 用户(例如 London\JoeB),而先前没有使用 sp_grantlogin sp_denylogin 授予或拒绝该用户直接访问 Microsoft SQL Server 的权限,那么 IS_SRVROLEMEMBER 就会返回 NULL。

update PieceWorkInput set WorkProcName = b.WP_WorkProcName from PieceWorkInput,(select WP_FactoryID,WP_WorkProcID,WP_WorkProcName from WP_WorkProc) b where PieceWorkInput.FactoryID = b.WP_FactoryID and PieceWorkInput.WorkProcID = b.WP_WorkProcID

 

是否存在存储过程

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[sp_sel_order]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
BEGIN
   drop procedure  sp_sel_order
END
GO

是否存在表

if exists (select * from sysobjects where name = 'rpt_sodtl')
BEGIN
Drop view rpt_sodtl
End

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Sys_config]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
Drop view rpt_sodtl
End

是否存在某一列

if (NOT exists ( select * from dbo.syscolumns where name = 'lc_Shopname' and id in
(select id from dbo.sysobjects where id = object_id(N'[dbo].[rpt_StockRpt]') and OBJECTPROPERTY(id, N'IsUserTable') = 1))
)
alter table rpt_StockRpt add lc_Shopname nvarchar(20)

posted @ 2007-07-13 17:26  杰仔  阅读(261)  评论(0编辑  收藏  举报