您的位置:首页 > 数据库

sql server的存储过程的基本用法

2013-04-17 17:09 260 查看
先建两张表

if exists(select * from sysobjects where name='Emplorer')
drop table Emplorer;
--声明一个员工表
create table Emplorer(
ID integer not null identity(1,1) ,                   --ID编号
Email varchar(20) not null unique,                    --邮件
Name  varchar(20) not null,                           --名称
Pass  char(32)    not null,                           --密码
Dep   varchar(4) default '001',                       --部门
Join_time date default getDate(),                     --加入时间
Left_time date,                                       --离开时间
primary key (ID)                                      --设置主键
);
--声明一个部门数据表
if exists(select * from sysobjects where name='Department')
drop table Department;
create table Department(
ID int not null identity(1,1),                --部门的ID
number varchar(4) not null,                   --部门编号
Name varchar(20)not null,                     --部门名字
Create_Time date default getDate(),           --部门创建时间
Break_Time date,                              --部门关闭时间
primary key(ID)
);


一、sqlserver一些存储过程

--创建一个过程
if exists (select * from sysobjects where name='AddEmplorer' and type='p')
drop procedure AddEmplorer;
go
create procedure Addemplorer
@Email varchar(20) ,                    --邮件
@Name  varchar(20) ,                           --名称
@Pass  char(32)    ,                           --密码
@Dep   varchar(4),                       --部门
@RESULT  INTEGER output                 --返回的结果
as
begin
insert into Emplorer(Email,Name,Pass,Dep) values(@Email,@Name,@Pass,@Dep);
set @RESULT=@@IDENTITY;
end
go
--测试下
exec Addemplorer '1@sina.com','ff','123','001'
go


二、触发器

if exists(select * from sysobjects where name='update_dep' and type='tr')
drop trigger update_dep;
go
create trigger update_dep
on Department
for update
as
if update(number)
begin
declare @before_number varchar(4);
declare @after_number varchar(4);
select @after_number=number from inserted;
select @before_number=number from deleted;
update emplorer set dep=@after_number where dep=@before_number;
end;
go


三、sqlserver的简单修改

alter table department
--add constraint UQ_identityCard unique(number)
--drop UQ_identityCard
add constraint UQ_unmber unique(number)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: