Trigger,Cursor
USE [Demo]
GO
/****** Object: StoredProcedure [dbo].[p_couser_Student] Script Date: 02/24/2014 20:43:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--Student insert trigger update Class C_COUNT
--create trigger tr_I_Student
--on Student
--for insert
--as
--begin
-- update Class set C_Count=C_Count+1
-- where ID=(select C_ID from inserted)
--end
--Student delete trigger update Class C_COUNT
--create trigger tr_D_Student
--on Student
--for delete
--as
--begin
-- update Class set C_Count=C_Count-1
-- where ID=(select C_ID from deleted)
--end
--CREATE TRIGGER TR_U_STUDENT
--ON STUDENT
--FOR UPDATE
--AS
--BEGIN
-- IF UPDATE(C_ID)
-- begin
-- update Class set C_Count=C_Count-1
-- where ID=(select C_ID from deleted)
-- update Class set C_Count=C_Count+1
-- where ID=(select C_ID from inserted)
-- end
--END
ALTER proc [dbo].[p_couser_Student]
@Id int,
@Name varchar(20)
as
begin
declare @UName varchar(10)
declare @CName varchar(10)
print '姓名 班级'
declare mycursor cursor
for select S_Name,C_ID from Student
open mycursor
fetch next from mycursor into @UName,@CName
--判断游标的状态//0 fetch语句成功//-1 fetch语句失败或此行不在结果集中//-2被提取的行不存在
while(@@FETCH_STATUS=0)
begin
declare @str varchar(200)
select @str=@UName+' '+@CName+' 参数 '+convert(varchar(20),@Id)+','+@Name
print @str
fetch next from mycursor into @UName,@CName
end
close mycursor
deallocate mycursor
end
GO
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步