--2 使用游标将SPJ表中的偶数行输出。
if OBJECT_ID('tmp_yy') is not null drop table tmp_yy
select ,ROW_NUMBER() over (order by qty)1 aa into tmp_yy
from spj
--select from tmp_yy
declare @i nvarchar(50)
declare @sql nvarchar(max)
declare cursor1 cursor for
select aa from tmp_yy
open cursor1
fetch next from cursor1 into @i
while @@fetch_status=0
begin
if (@i%2)100=0 and @i>1
begin
set @sql='select sno,pno,jno,qty from tmp_yy where aa='+@i
end
else
exec (@sql)
fetch next from cursor1 into @i
end
close cursor1
deallocate cursor1
--6.创建存储过程,根据用户指定的供应商号删除SPJ表中相应的供货信息。
create proc uspdeleteSPJ
@SNO nvarchar(5)
as
begin
delete from spj where sno=@SNO
end
--exec uspdeleteSPJ 's1'
--7.创建存储过程,将指定零件的重量增加指定的值。
create proc uspaddP
@pno nvarchar(5),
@weight int
as
begin
update p表 set weight=weight+@weight where pno=@pno
end
exec uspaddP 'p1',10
--8.用触发器实现约束:如果是北京的供应商,供应任何零件的数量不能少于300,
--如果少于则自动改为300。
alter TRIGGER triggerSB ON spj
FOR insert
AS
if(SELECT COUNT() FROM inserted WHERE QTY <300)>0
BEGIN
update spj set QTY=300
WHERE QTY <300
commit TRANSACTION
END
GO
以上就是关于数据库用T—SQL写下列语句全部的内容,包括:数据库用T—SQL写下列语句、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)