存储过程------数据库(SQL)

 

create proc 过程名
as
  语句
 
exec 过程名
 
create proc selectproduct
@price money
as
select productname,unitprice
from Products
where unitprice>@price
exec selectproduct 10
 
create procedure selectproduct
as
 select productname,unitprice
 from products
 where unitprice>50
 
exec selectproduct
 
create procedure selectproduct
@inputprice money
as
 select productname,unitprice
 from products
 where unitprice>@inputprice
 
exec selectproduct 10
 
select employeeid
from employees
where lastname='fuller'
 
create proc selectempid
( @ln varchar(10),@empid int output)
as
 select @empid=employeeid
from employees
where lastname=@ln
 
declare @empid int
exec selectempid 'fuller',@empid output
select @empid
 
create proc selecttname
( @tid nchar(10),@tname nchar(10) output)
as
 select @tname=tname
 from teacher
 where tid=@tid
 
declare @tname nchar(10)
exec selecttname '004',@tname output
select @tname
 
select productname,unitprice
from products
where productname='tofu'
 
create proc selectprice
( @pname nvarchar(40),@uprice money output)
as
select @uprice=unitprice
from products
where productname=@pname
 
declare @uprice money
exec selectprice 'Queso Manchego La Pastora',@uprice output
print @uprice
 
create proc selectnamesex
as
 select sname,ssex
 from student
execute selectnamesex
 
declare @maxprice money,@minprice money
set @maxprice=50
set @minprice=20
select productname,unitprice
from products
where unitprice >=@minprice and unitprice<=@maxprice
 
create proc selectnameprice
( @minprice money,@maxprice money)
as
 select productname,unitprice
from products
where unitprice >=@minprice and unitprice<=@maxprice
 
exec  selectnameprice 10,50
 
create proc selectname
( @begindate datetime,@enddate datetime)
as
 select lastname,firstname,hiredate
from employees
where hiredate>=@begindate and hiredate<=@enddate
 
exec selectname '1-1-1993','12-31-1994'
 
create proc [dbo].[selecttname]
( @tid nchar(10),@tname nchar(10) output)
as
 select @tname=tname
 from teacher
 where tid=@tid
declare @tname1 nvarchar(20)
exec [selecttname] '004',@tname1 output
set @tname1=@tname1+' 大坏蛋 '
select @tname1
 
create proc selectcount
( @cateid int,@pcount int output)
as
select @pcount=count(*)
from products
where categoryid=@cateid
 
declare @count int,@cateid int
set @cateid=8
exec selectcount @cateid,@count output
print ' ' + convert ( varchar ( 5),@cateid)+
    ' 类有 ' + convert ( varchar ( 5),@count)+' 种商品 '
 
create proc selectcount
( @sex nchar(10),@person int output)
as
select @person=count(*)
from student
where ssex=@sex
 
declare @sex nchar(1),@rs int
set @sex=' '
exec selectcount @sex,@rs output
print ' 学校有 ' + @sex+' ' + convert ( varchar ( 5),@rs)+' '
 
 
 
alter proc selectcount
( @nameid char(11),@ncount int output)
as
select @ncount=count(*)
from LendBook
where Reader_ID=@nameid
 
declare @ncount int
exec selectcount '20081504114',@ncount output
select @ncount
 
select *
from sc
where sid='001'
 
alter procedure selectscore
 @st_id nchar(10),@c_id nchar(10) ,@score int output
as
select @score=score
from sc
where sid=@st_id and cid=@c_id
 
declare @s int,@st nchar(10),@course nchar(10)
set @st='004'
set @course='004'
exec selectscore @st,@course,@s output
print ' ' + @st+' 号同学 ' + ' ' + @course+
     ' 号课程成绩 ' + convert ( varchar ( 10),@S)
 
create proc selectbirthday
@ln nvarchar(20),@fn nvarchar(10),@birth datetime output
as
 select @birth=birthdate
 from employees
 where lastname=@ln and firstname=@fn
 
declare @birth datetime
exec selectbirthday 'Leverling','Janet',@birth output
select @birth
 
create proc selectstname
@tname nchar(10)
as
select s.sname
from student s inner join sc on s.sid=sc.sid
               inner join course c on sc.cid=c.cid
               inner join teacher t on c.tid=t.tid
where t.tname=@tname
 
exec selectstname ' 张江 '
 
create proc deletescore
@st_id nchar(10),@c_id nchar(10)
as
delete from sc
where sid=@st_id and cid=@c_id
 
exec deletescore '004','005'
 
create proc insertscore
@st_id nchar(10),@c_id nchar(10),@score int
as
 insert into sc(sid,cid,score)
   values(@st_id,@c_id,@score)
 
exec insertscore '004','004',100
 
update sc
 set score=99
where sid='004' and cid='004'
 
create proc updatescore
@st_id nchar(10),@c_id nchar(10),@newscore int
as
 update sc
 set score=@newscore
 where sid=@st_id and cid=@c_id
 print ' 记录已更新! '
 
exec updatescore '001','001',100
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值