plsql学习

plsql(procedure language sql)结构化的sql语句。

1.块的概念:

是plsql最小执行单元,由declear,begin,exception,end几个部分组成。

DECLARE
--声明部分(主要声明变量,常量,游标等),这部分可以不要
BEGIN
--执行部分,这个不能缺失
EXCEPTION
--异常部分,这个部分是在前面执行时候出现异常在这个地方进行捕获,可以不要
END;

 例如:

declare
v_ename varchar2(10);
v_sal number(7,2);
begin
select ename,sal into v_ename,v_sal from emp where empno=&aa;
dbms_output.put_line(v_ename || '  ' || v_sal);
exception
when no_data_found then
dbms_output.put_line('wrong number!');
end;

 ----set serveroutput on打开pl/sql developer显示dbms_output.put_line输出出来的信息;

2.存储过程

组成部分:

create procedure procedure_name
is
--变量的声明
begin
--执行代码
end;

 例如:

create procedure po_pro2(spEmpno number,spSal number)
is
begin
update emp set sal=spSal where empno=spEmpno;
end;

 实例2:没有返回值的存储过程(通过存储过程像emp表中添加一条记录);

create procedure insert_pro(
spNo in number,
spName in varchar2,
spSal in number,
spJob in varchar2,
spDeptno in number)
is
begin
insert into emp(empno,ename,sal,job,deptno) values(spNo,spName,spSal,spJob,spDeptno); 
end;

 对应java调用:

Class.forName("oracle.jdbc.driver.OracleDriver");
			
			Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "a123");
			
			CallableStatement cs = conn.prepareCall("{call insert_pro(?,?,?,?,?)}");
			
			cs.setInt(1, 71);
			cs.setString(2, "mickey");
			cs.setInt(3, 1001);
			cs.setString(4, "CLECK");
			cs.setInt(5, 10);
			cs.execute();

 实例3:有返回值的存储过程(查询emp表empno为7788的用户的姓名,工资等)

create procedure getName_pro(
spNo in number,
spName out varchar2,
spSal out number
)
is
begin
select ename,sal into spName,spSal from emp where empno=spNo;
end;

 对应的java调用:

CallableStatement cs = conn.prepareCall("{call getName_pro(?,?,?)}");
			
			cs.setInt(1, 7788);
			cs.registerOutParameter(2, OracleTypes.VARCHAR);
			cs.registerOutParameter(3, OracleTypes.FLOAT);
			cs.execute();
			
			String name = cs.getString(2);
			Float sal = cs.getFloat(3);
			
			System.out.println("姓名:"+name+"工资:"+sal);

 第二种情况:返回一个结果集的存储过程的调用(查询emp表中某个部门所有用户的姓名及工资)

--创建一个包,用于存放结果集

create package pac_test1 as
type my_cursor is ref cursor;
end pac_test1;

 --创建存储过程

create procedure pro_test3(spNo in number,sp_cursor out pac_test1.my_cursor)
is
begin
    open sp_cursor for select * from emp where deptno=spNo;
end;

 --对应java中的调用:

CallableStatement cs = conn.prepareCall("{call pro_test3(?,?)}");
			cs.setInt(1, 20);
			cs.registerOutParameter(2, OracleTypes.CURSOR);
			
			cs.execute();
			
			ResultSet rs = (ResultSet)cs.getObject(2);
			while(rs.next()) {
				System.out.println(rs.getString("ename") + "--" +rs.getString("sal"));
			}

 实例4:存储过程书写一个简单的分页

--创建一个分页的包

create package fenye_pac as
type fenye_cursor is ref cursor;
end fenye_pac;

 --创建存储过程,本分页只是实现了将整张表进行分页获取满足条件的当前页的数据及展示总页数与总记录数。

create or replace procedure pro_test4(
tableName in varchar2,   --表名
pageCount in number,     --每一页的记录数
currentPage in number,   --需要第几页的内容
totalCount out number,   --总记录数
totalPage out number,    --总页数
p_cursor out fenye_pac.fenye_cursor  --存放返回的结果集
)
is
v_sql varchar2(1000);
v_start number;
v_end number;
begin
--计算分页开始数值
v_start:=(currentPage-1)*pageCount;
--计算分页结束数值
v_end:=currentPage*pageCount;
v_sql:='select * from (select rownum r,e.* from '|| tableName ||' e where rownum<='|| v_end ||') where r>'|| v_start;
open p_cursor for v_sql;
--获取总记录数
v_sql:='select count(1) from '|| tableName;
execute immediate v_sql into totalCount;
--计算总页数
if mod(totalCount,pageCount) = 0 then
totalPage:=totalCount/pageCount;
else
totalPage:=totalCount/pageCount+1;
end if;
end;

 对应的java的调用方式:

CallableStatement cs = conn.prepareCall("{call pro_test4(?,?,?,?,?,?)}");
			cs.setString(1, "emp");
			cs.setInt(2, 5);
			cs.setInt(3, 2);
			cs.registerOutParameter(4, OracleTypes.INTEGER);
			cs.registerOutParameter(5, OracleTypes.INTEGER);
			cs.registerOutParameter(6, OracleTypes.CURSOR);
			
			cs.execute();
			int totalCount = cs.getInt(4);
			int totalPage = cs.getInt(5);
			ResultSet rs = (ResultSet)cs.getObject(6);
			System.out.println("总页数:"+totalPage+"--总记录数:"+totalCount);
			while(rs.next()) {
				System.out.println(rs.getString("ename") + "--" + rs.getString("sal"));
			}

 3.函数的创建:

实例1:计算某个员工一年的工资收入;

 

create or replace function fun_test1(spNo number)
return number is yearSal number(7,2);
begin
select sal*12 into yearSal from emp where empno=spNo;
return yearSal;
end;

在pl/sql中测试函数的方法:

var yearSal number;
call fun_test1(7788) into:yearSal;

 4.包:

包括:过程,函数,变量,常量,类型,异常,游标。

实例1:

--包的声明
create or replace package pac_test1 as
--常量的声明
c_pi number:=3;
--公共类型
type t_rec is record(m1 number,m2 varchar2(10));
--公共变量
v_rec t_rec;
--过程的声明
procedure select_name(spNo in number);
--函数的声明
function count_sal(spNo in number) return number;
end pac_test1;

 

--包体的实现
create or replace package body pac_test1 is
procedure select_name(spNo in number)
is
spName emp.ename%type;
begin
select ename into spName from emp where empno=spNo;
dbms_output.put_line(spName);
end;
function count_sal(spNo in number) return number is yearSal number(7,2);
begin
select sal*12 into yearSal from emp where empno=spNo;
return yearSal;
end;
end pac_test1;

 5.plsql类型:

plsql中比较常见的三种类型:标量类型,复合类型,参量类型

(1).标量类型:是一些比较简单的类型,比如number,varchar2,date等等。

            注意:在声明标量类型变量的时候,如果不确定该变量的具体类型,可以通过表中字段%type方式确定该类型

            例如:

DECLARE
     v_name emp.ename%type;
     v_sal number(7,2);
BEGIN
     select ename,sal into v_name,v_sal from emp where empno=&no;
END;

(2).复合类型:就是由几个标量类型组合在一起,比如表中某一行数据可以看成是一个复合类型,这个时候可以通过%rowtype方式确定类型

比如:

declare
v_row_emp emp%rowtype;
begin
select * into v_row_emp from emp where empno=7788;
dbms_output.put_line(v_row_emp.ename);
end;
自定义声明一个复合类型,比如在某种情况下不需要表中一行数据的所有类型的时候,就需要自己定义那些需要的类型了,具体如下:
declare
type my_type is record(v_name emp.ename%type,v_sal emp.sal%type);
v_row_emp my_type;
begin
select ename,sal into v_row_emp from emp where empno=7788;
dbms_output.put_line(v_row_emp.v_name);
end;
 (3).参量类型:如果获取到的数据的类型不单单是一行数据,而是多行数据的话,这个时候就需要参量类型了(游标cursor);
具体实例如下:
declare
cursor my_cursor
is select * from emp where deptno=10;
v_cursor my_cursor%rowtype;
begin
open my_cursor;
loop
fetch my_cursor into v_cursor;
exit when my_cursor%NOTFOUND;
dbms_output.put_line(v_cursor.ename);
end loop;
end;
 
PLSQL学习笔记——基本语法(一) 前言 由于工作中使用oracle数据库,使用软件PL/SQL Developer,所以在慕课网上学习,特此记录。链接:https://www.imooc.com/learn/360 oracle文档:https://docs.oracle.com/cd/E11882_01/nav/portal_booklist.htm 说明 我没有在declare上,加上一句set serveroutput o... 阅读详情

相关推荐

【ORACLE+PLSQL学习笔记#6】PLSQL+存储函数+存储过程+触发器

** PLSQL 常见写法:select into语句可以在PLSQL中引入表数据,赋值给当前plsql声明的变量。 ■变量类型 属性类型可以在不知道数据类型的情况下,自动引入表中数据的类型: 属性引用类型: 表名.数据列名%type 属性行记录类型,记录结果集一整行信息的行单位: 行变量 表名%rowtype ** ■异常处理 ** PLSQL也有类似于Java的异常处理,当数据操作不合法时及时暂停程序避免崩溃。以下仅从无该数据、返回多条数据两种预定义异常为例。 返回多条数据: 无该数据: 如果忘记在

Jelly_Bean的博客 475

PL/SQL基础语法入门

先前安装了PL/SQL软件 PL/SQL全称为Procedural Language/SQL。 PL/SQL也是一种程序语言,叫做过程化SQL语言,是Oracle数据库对SQL语句的扩展 打PL/SQL软件后 新建Command Window 输入ed便会打开一个编辑框。ed全称估计为Editr的缩写 PL/SQL程序结构分为3部分,共四

chance2015的博客 4404

AI安全攻防:十六进制编码与表情符号如何绕过ChatGPT安全限制

在人工智能安全领域,提示词工程是影响大语言模型行为的关键技术。其核心原理在于通过精心设计的输入文本,引导模型生成特定内容或执行特定任务。这项技术的价值在于能够深入探究模型的理解机制与决策边界,对于模型优化、安全测试及功能开发具有重要意义。在实际应用场景中,研究人员常利用编码转换、符号插入等方法构造输入,以测试模型安全护栏的鲁棒性。近期,一种结合十六进制编码与表情符号的组合攻击手法受到关注,该方法通过信息伪装与语义干扰,试图绕过模型内置的内容过滤机制,这凸显了当前AI安全在输入预处理与语义理解协同防御上面临的

weixin_30633405的博客 449

PL/SQL的异常处理

  原文转自:http://oracle.chinaitlab.com/PLSQL/797300.html 在 PL / SQL 中错误信息处理过程分为两步: 引发错误和处理错误。编译处误是由 PL/SQL 编译器产生的,它们应该在执行程序前解决。   PL/SQL 异常:类型与定义   处理异常有 3 个基本的步骤:   1、 声明异常(显式或隐式地声明)   2、 引发异常(显式...

iteye_9670的博客 356

抖音自定义卡片链接(图文链接)

抖音自定义可以自定义标题,打开链接,和展示图片 效果 主要代码 public void sendMessage(String conversationId, Object aBaseContent) throws Exception { // C233282u5.LIZIZ.LIZ().LIZIZ(LIZ).LIZ(obtain).LIZ(hLn).LIZ((AbstractC59811HHc) new H9Q()); Object HOa = ReflectionUtil

傅恒的博客 4140

Django 小实例S1 简易学生选课管理系统 —— 〇、初步介绍与演示

python Django实现的一个简易的教务选课系统。 介绍与演示的视频版本已发到我的b站: https://www.bilibili.com/video/BV1er4y1w7ty。 项目已上传到我的github: https://github.com/BigShuang/SimpleStudentCourseManagementSystem。 S1总目录: 〇、初步介绍与演示 一、项目流程梳理与数据库设计 ======================= 大爽歌作,made by big shuang.

大爽老师的博客 5945

oracle begin exception end,Oracle Exception异常处理

BEGINSELECT ...SELECT ...SELECT ......EXCEPTIONWHEN NO_DATA_FOUND THEN -- catches all ’no data found’ errors2、异常的分类有两种类型的异常,一种为内部异常,一种为用户自定义异常,内部异常是执行期间返回到PL/SQL块的ORACLE错误或由PL/SQL代码的某操作引起的错误,如除数为零或内存溢...

weixin_34537864的博客 2678

别再手动续期SSL证书了!用acme.sh配合阿里云DNS API,实现全自动HTTPS证书管理

本文详细介绍了如何使用acme.sh配合阿里云DNS API实现SSL/TLS证书的全自动管理,彻底解决手动续期带来的风险与不便。通过自动化部署流程,包括环境准备、API集成、多域名证书申请等关键步骤,帮助运维人员构建高效、可靠的HTTPS证书管理体系,显著提升安全性和运维效率。

weixin_29200485的博客 269

plsql 条件判断语句

  -- begin exception end begin dbms_output.put_line(''); exception when no_data_found then dbms_output.put_line(''); end;   -- IF IF condition THEN {...sta...

kongkong的专栏 4523

WebVTT中的文本轨道(Text Tracks,TT)到底是什么鬼?

WebVTT,全称是The Web Video Text Tracks Format,意思是网络视频文本轨道格式。那么到底什么是文本轨道(Text Tracks)呢?这篇文章希望一探究竟。

码农1479的博客 1985

动态刷新曲线_【GhPython应用】利用反射刷新Image sampler组件

【版权声明】| 作者:月之眼|案例图片来源:Sergiu Radu Pop的facebook| 如有侵权,请联系大水牛平台|如果觉得文章不错,欢迎分享效果展示利用python刷新Image sampler组件,主要的思路就是X输入端:输入要切换的图片路径,我的案例中输入了9张图片。然后通过100毫秒切换一张图片显示,来达到动态显示效果。代码分析run输入端类型:bool (I...

weixin_42393829的博客 531

PLSQL学习笔记

在网上看到的一个比较好的PLSQL学习笔记,放在这里方便以后查找!

junmail的专栏 190

手把手教你完成YOLOv9 PyQt5目标检测界面搭建,实现图片检测、视频检测、摄像头检测,可用于大论文凑工作量或毕设必备,全网最详细教程

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv9与 PyQt5,构建了一个图形化界面,便于用户进行目标检测的操作和展示,实现对图片、视频和摄像头的实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2657

PLSQL学习(下)

定义语法模板declaretype 记录名 is record(属性名1 数据类型,属性名n 数据类型);记录1 记录名;begin记录1.记录属性:=属性值;end;使用案例declare-- 声明记录-- 定义一个子程序beginend;-- 赋值使用beginend;语法模板declarebeginexceptionwhen 异常1 then异常处理语句when 异常1 then异常处理语句异常处理语句end;使用案例declare。

2301_76371717的博客 1116

USB驱动(URB)

本文介绍了Linux内核中USB驱动开发的核心概念URB(USB Request Block)。URB是主机与USB设备间传输数据的抽象结构体,包含目标设备、端点信息、数据缓冲区等关键字段。文章详细解析了URB的生命周期(分配、填充、提交、回调、释放)、四种传输类型(控制、批量、中断、等时)及其应用场景,并提供了鼠标设备的中断传输示例代码。最后强调了URB使用注意事项,包括DMA缓冲区分配、错误处理和资源释放等。URB作为USB驱动与内核通信的桥梁,是构建稳定USB驱动程序的基础。

m0_49476241的博客 915

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

PLSQL 语句学习

学习PLSQL语句的目的; 让原本在应用程序的判断结果的代码,写成sql语句,从而提高应用程序的速度; 在于存储过程 和存储函数 还有触发器之前肯定要学习PLSQL; 提高操作oracle的速度和为之后做准备; 基本语法: declare   说明部分(变量说明、光标申明、例外说明) begin   语句序列(DML 语句) exception   例外处理语句 end; ...

weixin_30377461的博客 101

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Oracle数据库PLSQL学习

Oracle数据库PLSQL欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎...

weixin_44961829的博客 840

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

PLSQL学习——数据类型

学习PLSQL的目的: 1.PLSQL是对SQL语言的一个扩展,从而形成的一个程序,所以操作Oracle数据库最快的语言是PLSQL。 2.为后续学习存储过程、存储函数、触发器做准备。 最简单的PL/SQL程序: 打印Hello World注意:如果要在屏幕上输出信息,需要将serveroutput开关打开 set serveroutput on declare

付之一笑的专栏 2439

PLSQL学习之基础

PLSQL介绍 PLSQL是Oracle对SQL99的一种扩展,基本每一种数据库都会对SQL进行扩展,Oracle对SQL的扩展就叫做PLSQL... SQL99是什么 (1)是操作所有关系型数据库的规则 (2)是第四代语言 (3)是一种结构化查询语言 (4)只需发出合法合理的命令,就有对应的结果显示 SQL的特点 (1)交互性强,非过程化 (2)数据库操纵能力强,只需发送命令,无...

程序猿_hw的博客 2468

PLSQL学习笔记(msb38-46)

--oracle内部编程语言 pl语言(过程语言)补充sql语言 分支、条件判断、循环 分四块: 1.DECLARE做变量声明(可选) 2.BEGIN开始(必须有) 3.EXCEPTION(catch到时执行) 4.END;(必须有)   e.g. begin dbms_output.put_line('helloworld!'); end; 标准命令行输出,相当于Syst...

winnifred的博客 230

PLSQL学习

1.PLSQL组成 由变量声明、程序代码和异常处理代码3部分组成。 DECLARE --标记声明部分 …… --此处用来定义常量、变量、类型和游标等 BEGIN --标记程序体部分开始 …… --此处用来编写各种PL/SQL语句、函数和存储过程 EXCEPTION --标记异常处理部分开始 …… --此处用...

weixin_46508999的博客 808

plsql数组学习

PLSQL中提供了三种数据的形式,功能还是比较强大的。但是总的来说,PLSQL中的数组知识掌握最简单的那种,其他大致了解就可以了。因为从实际应用的角度来说,在PLSQL中用到数组的几率不是很大。这主要是由于PLSQL跟数据...

conglueh193642的博客 299

plsql中job学习

plsql中学习job --学习job --建表 create table test_job(para_date date); commit; insert into test_job values(sysdate); commit; select * from test_job; --建立存贮过程 create or replace procedure te...

jinchun1223的专栏 379

plsql与JAVA哪个难学_Oracle总结【PLSQL学习】

tags: OraclePLSQL介绍PLSQL是Oracle对SQL99的一种扩展,基本每一种数据库都会对SQL进行扩展,Oracle对SQL的扩展就叫做PLSQL...SQL99是什么(1)是操作所有关系型数据库的规则(2)是第四代语言(3)是一种结构化查询语言(4)只需发出合法合理的命令,就有对应的结果显示SQL的特点(1)交互性强,非过程化(2)数据库操纵能力强,只需发送命令,无需关注如何...

weixin_32972053的博客 484
上一篇: oracle常用sql语句学习
下一篇: git学习
MjCreator
博客等级 码龄11年 4粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值