-
mysql创建储存过程 输入学生名子_创建一个存储过程,给定某学生学号,要求查询出该学生的姓名,所选课程名和...
2021-01-19 07:27:59展开全部/*创建存储过程*/CREATE PROCEDURE proc_select--建立存储过程@Sno char(10) output,--输入输出参数636f70793231313335323631343130323136353331333431356134@Sname varchar(20) out,--输出参数@Cno char(4)...展开全部
/*创建存储过程*/
CREATE PROCEDURE proc_select--建立存储过程
@Sno char(10) output,--输入输出参数636f70793231313335323631343130323136353331333431356134
@Sname varchar(20) out,--输出参数
@Cno char(4) out,--输出参数
@grade tinyint out--输出参数
AS
SELECT @Sname=Sname,@Sno=Student.Sno,@Cno=cno,@grade=grade --select里面写输出参数
FROM Student,SC --从学生表,选修表中查询
where @Sno=Student.Sno--where里面写输入参数
/*根据给定学号查询*/
CREATE PROC proc_lab4 --存储过程中含有游标
@Sno char(10)
as
declare @ssno char(10),@ssname char(20),@ccname char(20),@scg int--声明四个变量
declare cursor_s cursor--声明游标
for
select Student.Sno,Sname,Cname,grade
from Student,Course,SC--从三个表中选择学号、姓名、课程名、成绩
where Student.Sno=SC.Sno and Course.Cno=SC.Cno and Sname=@Sname;--连接
open cursor_s--打开游标
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
while @@fetch_status=0
begin
print @ssno+@ssname+@ccname+convert(char(10),@scg)
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
end
close cursor_s--关闭游标
deallocate cursor_s--释放游标
exec proc_lab4 '201215121'
--只带输入参数
CREATE PROC p2
@sno char(10)
as
select Student.Sno,Sname,Cname,grade
from Student,SC,Course
where Student.Sno=SC.Sno and SC.Cno=Course.Cno
and Sname=@sname
扩展资料:
创建存储过程基本语法
create procedure sp_name
@[参数名] [类型],@[参数名] [类型]
as
begin
.........
end
以上格式还可以简写成:
create proc sp_name
@[参数名] [类型],@[参数名] [类型]
as
begin
.........
end
/*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/
-
储存过程
2019-12-09 18:48:57储存过程是一组为了完成特定功能的...一个储存过程是一个可编程的函数。它在数据库中创建并保存,一般由SQL语句和一些特殊控制的结构组成,当希望在不同的平台或者应用程序执行相同的特定功能时,有储存过程是合适的...储存过程是一组为了完成特定功能的SQL语句表,经过编译后储存在数据库中,用户通过指定过程的名字并给定参数来调用执行它。
从常用的操作数据库的SQL语句在执行的时候需要先编译,然后执行,储存过程,则是采用另外一种方式执行sql语句。
一个储存过程是一个可编程的函数。它在数据库中创建并保存,一般由SQL语句和一些特殊控制的结构组成,当希望在不同的平台或者应用程序执行相同的特定功能时,有储存过程是合适的。
1、声明变量
在存储过程体中可以声明局部变量,用来存放临时产生的结果。
局部变量和全局变量相对应,是局部范围内有效变量。
局部变量的声明:
declare 变量名 变量类型 default null
二 创建存储过程:
在mysql中默认是以分号结束sql语句的,但是在创建存储过程时,存储过程体可能包含多条SQL语句,这些SQL也是以;作为标识结束的,这样的话,mysql 就会以第一个分号作为结束符,鉴于这种情况,所以我们要先修改结束标识符。
delimiter $$
1 创建不带参数的存储过程:
调用存储过程:
创建带参数的存储过程:
调用带参数的存储过程:
修改存储过程:
-
MySql中创建储存过程实现向表中循环插入数据
2020-10-11 17:21:522.无表的话,根据需求创建一个数据库表。 CREATE TABLE test( ID INT PRIMARY KEY AUTO_INCREMENT , test_name VARCHAR(20), test_num INT); 二. 创建储存过程 DROP PROCEDURE IF EXISTS pro1; //如果有创建过储过程...一. 创建数据库表
1.有表的话,不需要创建表,需要向哪个表中循环插入数据记住表名即可。
2.无表的话,根据需求创建一个数据库表。
CREATE TABLE test(
ID INT PRIMARY KEY AUTO_INCREMENT ,
test_name VARCHAR(20),
test_num INT);二. 创建储存过程
DROP PROCEDURE IF EXISTS pro1; //如果有创建过储过程删除,无则创建 DELIMITER $ /*(意思是mysql语句的结尾换成以$结束,mysql默认是;结束)*/ CREATE PROCEDURE pro1(IN n INT) /*创建一个名为pro1的存储过程,调用存储过程时,可以通过输入参数n来指定循环的次数*/ BEGIN /*开始*/ DECLARE num001 INT; /*定义num001和num002的数据类型为int*/ SET num001 = 1; /*设置num001=1,num002=10*/ WHILE n - num001 >= 0 DO /*当num001小于等于n时执行下面的操作*//*在test表中插入数据test_name=zhangsan+num001,test_num=num002,contat意为将张三和num001连起来*/ INSERT INTO box VALUES(CONCAT(20201011, num001),CONCAT(20201011, num001),CONCAT(20201011, num001),0,0,'',0,1,1,1,1,14,10,CONCAT(20201011, num001),0,'',9,13,''); INSERT INTO account VALUES(CONCAT(20201011, num001),0,'2020-10-09 20:22:22','',0,0,0,10,1,'西安分行营业部柜员','',10,1); SET num001=num001+1; /*设置num001=num001+1,num002=num002*2*/ END WHILE; /*当num>100时,不再执行插入操作循环结束*/ END $ /* 存储过程结束*/ DELIMITER ;
三. 注意事项
这是创建储存过程,先执行这个,然后再执行调起这个储存过程。
call pro1(100) ; //100指的是循环次数。
-
在包里面创建储存过程
2010-12-15 13:38:37create or replace package 包名 is procedure P_RPT_D_OCBYGCC(var_StatTime in date); procedure P_RPT_025...首先是定义一个包,并声明包的内容是两个储存过程。下面是定义包体 create or replace pac...create or replace package 包名 is
procedure P_RPT_D_OCBYGCC(var_StatTime in date);
procedure P_RPT_025(var_StatTime in date);
end 包名;
首先是定义一个包,并声明包的内容是两个储存过程。下面是定义包体
create or replace package body 包名 is
procedure P_RPT_D_OCBYGCC(var_StatTime in date) is
vSELECTNUM int;--可以声明变量
begin
这个是正文
比如从一个表抽取你想要的数据到另一个表
insert into table1 select.....select是查询符合条件的数据,这样就把你要的数据插入另一个表了。
Exception 处理异常
WHEN OTHERS THEN
--回滚事务
ROLLBACK;
raise;
end P_RPT_D_OCBYGCC;
下面这个储存过程是调用上面的储存过程
procedure P_RPT_025(var_StatTime in date) is
iNowTime date;
begin
iNowTime := var_StatTime;
P_RPT_D_OCBYGCC(var_StatTime => iNowTime);
commit;
Exception
WHEN OTHERS THEN
--回滚事务
ROLLBACK;
raise;
end P_RPT_025;
end INF_RPT_025;
这已经结束了,相信我们都会在包里写储存过程了 -
简简单单储存过程——循环一个select结果集
2015-05-13 09:35:17简简单单储存过程——循环一个select结果集 MySQLSSHSQL 摘要:本文主要讲解了存储过程的创建、调用、以及游标的使用,相信掌握了游标 会对你有不错的帮助,有不足之处还请指教 导航: 一、存储过程... -
在储存过程创建表
2009-12-23 14:53:00〖方法(Action) 〗方法一:Step01:创建存储过程create_table。CREATE OR REPLACE PROCEDURE create_tableISv_Cursor NUMBER;--定义游标v_CreateString VARCHAR2(100);--这个变量存放创建 -
mysql语句小白-储存过程1_创建批量的表
2020-06-23 10:51:49使用逻辑,创建一个储存过程,相当于先字符串拼接,然后转换成预处理语法,进行语法应用 字符串拼接create table 表名 like 已有表名 循环100次,产生了100张表结构相同的表 use wwtt; DELIMITER $$ ##修改结束... -
储存过程中创建uuid方法
2017-10-23 17:23:211、oracle中有一个函数叫sys_guid(), 使用select sys_guid() from dual; (dual是一张oracle自带的虚表)就可生成uuid,但是你生成多个uuid怎么弄呢?找一张大表有很多记录,from你的那个大表即可。有多少记录生成... -
mysql创建函数批量注入数据_用mysql储存过程批量插入数据
2021-02-02 05:46:05#数据表的结构为stu_id(学号) ,stu_name(姓名),stu_sex(性别),cla_id(班级编号),stu_phone(手机号)drop ...#如果存在储存过程则删除delimiter $$ #创建一个储存过程create procedure insertt()beginset @a=200... -
mysql 存储过程 select 循环_简简单单储存过程——循环一个select结果集
2021-01-19 04:51:29摘要:本文主要讲解了存储过程的创建、调用、以及游标的使用,相信掌握了游标 会对你有不错的帮助,有不足之处还请指教导航: 一、存储过程的创建及调用二 、游标的使用三、 示例四、补充说明:1、用到的两个数据表... -
MySQL储存过程
2019-01-22 16:28:00储存过程:储存是一个可编辑函数,它在数据库中创建并保存。 程序一般分为两种:一种基于web、另一种基于桌面,它们都通过与数据库进行交互来完成数据的存取工作。 1.创建储存过程:创建储存过程一般有两种,一种... -
储存过程的基础的创建和简单应用
2007-11-27 00:04:00这是一个储存过程的基础的创建和简单应用,希望对大家有点帮助,不足之处肯定会有,算是抛砖引玉吧。 CREATE PROCEDURE 创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的... -
储存过程的基础的创建和简单应用[转]
2008-09-20 14:54:00储存过程的基础的创建和简单应用[转] 这是一个储存过程的基础的创建和简单应用,希望对大家有点帮助,不足之处肯定会有,算是抛砖引玉吧。CREATE PROCEDURE创建存储过程,存储过程是保存起来的可以接受和返回用户... -
分析Linux内核创建一个新进程的过程
2017-04-02 20:52:05黄二玉+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程...当一个程序存放在储存介质上的时候,它只是一个指令,数据及其组织形式的描述。操作系统可以将一个程序加载 -
mysql数据库的储存过程_数据库mysql储存过程
2021-02-02 17:34:52存储过程是一个SQL语句集合,当主动去调用存储过程时,其中内部的SQL语句会按照逻辑执行。一:创建存储过程MariaDB [test2]> delimiter //MariaDB [test2]>create procedure p1() #创建存储过程-> begin ... -
Mysql储存过程
2013-10-27 10:52:03储存过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储... -
sql储存过程in(多个参数)
2015-08-13 10:44:00首先要创建一个截取字符串的函数,新建一个查询,把下面代码复制进去执行。 函数SqlitIn的第一个参数是储存过程要in的字符串,第二个参数是分隔符 CREATE function SplitIn(@c varchar(200),@split varchar(2)) ... -
sqlcommand 执行多个储存过程是报错_java 自动化 使用存储过程构造测试数据
2020-12-09 12:19:57存储过程创建测试数据1、怎么创建测试数据如果你会编程语言,那么... 并且存储过程就是sql脚本,存储、执行、查看结果都在一个工具类就可完成非常方便。(本例采用mysql数据库)2、什么是存储过程存储过程(Stored ... -
oracle储存过程
2017-03-07 10:27:33存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 ... CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 行2: -
mysql储存过程
2016-01-19 21:33:04mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程...一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一 -
数据库储存过程超简单实例
2018-06-15 15:32:20网上看了半天都没找到一个完整储存过程从创建到调用的实例,于是自己写了一个简单的实例. 数据库创建存储过程,定义个函数 格式如下,开头DELIMITER //和结尾/DELIMITER 和BEGIN 和 END 是固定格式 定了一个叫test...
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
hibernate5.0.2Set.rar
-
浙江科技学院《建筑经济》历年期末考试试卷(含答案).pdf
-
浙江科技学院《自动控制原理》考试题整理.pdf
-
Unity RUST 逆向安全开发
-
13_微信小程序之bindgetuserinfo接口调整后的适配
-
一天学完MySQL数据库
-
中山大学《高等数学》大一下学期复习.pdf
-
python 遇到 No module named ‘pocketsphinx‘ 在 windows 10
-
VMware vSphere ESXi 7 精讲/VCSA/VSAN
-
浙江科技学院《钢结构原理》选择简单题汇总.pdf
-
项目管理工具与方法
-
InPixio Photo Maximizer Pro(图片无损放大器软件)直装特别版V5.11.7612.27781
-
E6POS KUKA
-
python-树-the kth Largest value in BST-找出BST中第k大的值
-
西京学院《多媒体技术及应用》期末考试试卷.pdf
-
css3 sticky不生效怎么办
-
Oracle_11g_Linux到Linux_DataGuard部署
-
西南科技大学《电力电子技术》期末复习题(含答案 精心整理版).pdf
-
西南科技大学《大学物理B2》两套期末考试试卷(含答案).pdf