SQL Service 数据库 基本操作 视图 触发器 游标 存储过程

use NewTest1

---声明视图---
create view NewViewte
as
select StudentInfo.name as 姓名,StudentInfo.sex as 性别,course.name as 课程 from StudentInfo join Course on StudentInfo.Cid= Course.id

---调用视图
select * from NewViewte
--- 声明触发器---
create trigger NewTri
on ClassInfo
for insert
as print‘数据插入测试‘
go

create trigger NewTri1
on ClassInfo
for Delete
as print‘数据删除测试‘
go

insert into ClassInfo Values(‘测试name‘,‘测试老师name‘)

Delete from ClassInfo where id=7

create trigger NewTri11
on Course
for insert
as print‘数据插入测试‘
go

create trigger NewTri111
on Course
for Delete
as print‘数据删除测试‘
go

--- 声明游标---
declare  NewDeclare cursor
for
select * from  StudentInfo where Cid=‘1‘

---游标使用---
---打开游标
open NewDeclare
---读取数据 fetch 获取
fetch Next from NewDeclare
select * from  StudentInfo where Cid=‘1‘
--- 关闭游标
close NewDeclare
--- 删除游标 deallocate 释放
deallocate NewDeclare

--- 创建存储过程---

create proc NewProc
@Cname Nvarchar(50),
@TeacheName Nvarchar(50),
@Name Nvarchar(50)
as
begin
  begin try
     begin tran
     insert into Course values(@Cname)
     insert into ClassInfo values(@Name,@TeacheName)
     commit tran
  end try
  begin catch
  --- 若捕获到异常   ---则操作终止 回滚到最初
  if @@TRANCOUNT>0   ---在SqlServer里,嵌套事务的层次是由@@TranCount全局变量反映出来的
   ---则操作终止 回滚到最初
   begin

   rollback

   end
  end catch
end

exec NewProc @Cname=‘测试课程名‘,@TeacheName=‘测试老师名‘,@Name=‘测试名‘

  

时间: 2024-12-09 00:03:28

SQL Service 数据库 基本操作 视图 触发器 游标 存储过程的相关文章

Mysql之视图 触发器 事务 存储过程 函数

视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用 #两张有关系的表 mysql> se

ORACLE数据库之PL/SQL触发器、rownum、动态SQL、数据库之视图与索引

WHEN子句说明触发约束条件.Condition为一个逻辑表达时,其中必须包含相关名称,而不能包含查询语句,也不能调用PL/SQL函数.WHEN子句指定的触发约束条件只能用在BEFORE和AFTER行触发器中,不能用在INSTEAD OF行触发器和其它类型的触发器中. -- 创建记录操作事件的表 CREATE TABLE event_table( event VARCHAR2(50), time DATE ); -- 创建触发器 CREATE OR REPLACE TRIGGER tr_star

数据库 --- 40 视图 触发器 存储过程 事务 函数

一.视图  (view) 视图是一种虚拟表,可以把查询出来的临时表保存下来 1.创建视图 2.删除视图 3.修改视图,(原始表的记录也跟着修改) 4.查看视图 二.  触发器(trigger)可进行  增删改  操作 1.创建触发器 2.删除触发器 实例: 三.存储过程  1. 优点: 缺点: 2.程序与数据库结合使用的三种方式 3.创建简单存储过程(无参) 4.创建存储过程(有参) ① in  传入参数 ② out  返回值 #查看存储过程的一些信息:show create procedure

SQL表连接视图触发器事务存储过程

trancate 删除    公共表表达式  修改视图 表联合:union列数目没变化,可以将结果集合并,没有改变结果的结构.多个select.行数增加而已. 表连接 改变列的数目,3列和9列的表合并成12列的表称为连接 交叉连接:cross两个表的笛卡尔积.生成辅助表,用老数据优化,需要1234纯数字连续据表 creat table num15 ( num int ) insert into num15 内连接: 外连接:

mysql 查询表,视图,触发器,函数,存储过程

1. mysql查询所有表: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND  TABLE_TYPE ='BASE TABLE' mysql查询建表语句: show create table `表名` 2.mysql查询所有视图: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名'

MySQL拓展 视图,触发器,事务,存储过程,内置函数,流程控制,索引,慢查询优化

视图: 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何使用视图 create view teacher2course as select * from teacher inner join course on teacher.tid = course.teacher_id; 强调: (1)在硬盘中,视图只有表结构文件,没有表结构数据 (2)视图通常是用于查询,尽量不要修改视图中的数据 dro

SQL Server 数据库的维护(上)_存储过程(procedure)

--维护数据库----存储过程(procedure)----概述: SQl Serve的存储过程是由一个或多个T-SQL语句组成的一个集合.常用的程序代码段通常被创建成存储过程,一次创建多次调用,这样既简化程序员的工作也减少与服务器交互的网络通信流量.存储过程中可以包含数据库中执行操作的程序语句,也包括调用其他过程.存储过程可以接收和输出参数,向调用它的程序返回值.存储过程被调用后,会返回给调用它的程序状态值,以表明调用成功或者调用失败以及调用失败的原因.--使用存储过程的优点:1)减少网络流量

修改SQL Service数据库排序规则

修改数据库 alter   database   KidsPang   COLLATE   Chinese_PRC_CI_AS 修改表中字段ALTER TABLE [Member] ALTER COLUMN [ID] [nvarchar](10) COLLATE Chinese_PRC_CI_AS  NOT NULLALTER TABLE [Member] ALTER COLUMN [PASS] [nvarchar](43) COLLATE Chinese_PRC_CI_AS  NOT NULL

视图 触发器 存储过程 函数 流程过程 索引 慢查询

视图 触发器 存储过程 函数 流程过程 索引 慢查询 视图 触发器 事务 存储过程 内置函数 流程控制 索引 视图 1.什么是视图 ? 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 ? 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何用视图 create view teacher2course as select * from teacher inner join course on teacher.tid = course.teacher_id; 强调