在SQL中存储过程的一般语法是什么?

在SQL中存储过程的一般语法是什么?,第1张

1、 创建语法

create proc | procedure pro_name

[{@参数数据类型} [=默认值] [output],

{@参数数据类型} [=默认值] [output],

]

as

SQL_statements

2、 创建不带参数存储过程

--创建存储过程

if (exists (select  from sysobjects where name = 'proc_get_student'))

drop proc proc_get_student

go

create proc proc_get_student

as

select  from student;

--调用、执行存储过程

exec proc_get_student;

3、 修改存储过程

--修改存储过程

alter proc proc_get_student

as

select  from student;

4、 带参存储过程

--带参存储过程

if (object_id('proc_find_stu', 'P') is not null)

drop proc proc_find_stu

go

create proc proc_find_stu(@startId int, @endId int)

as

select  from student where id between @startId and @endId

go

exec proc_find_stu 2, 4;

5、 带通配符参数存储过程

--带通配符参数存储过程

if (object_id('proc_findStudentByName', 'P') is not null)

drop proc proc_findStudentByName

go

create proc proc_findStudentByName(@name varchar(20) = '%j%', @nextName varchar(20) = '%')

as

select  from student where name like @name and name like @nextName;

go

exec proc_findStudentByName;exec proc_findStudentByName '%o%', 't%';

扩展资料:

SQL存储过程优点:

1、重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。

2、减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。

3、安全性。参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

参考资料来源:百度百科—存储过程

项目介绍
触发器,就是一种特殊的存储过程,触发器和存储过程一样是一个能够完成特定功能,存储在数据库服务器上的SQL片段,但是触发器无需调用,当对数据表中的数据执行DML *** 作时自动触发这个SQL片段的执行,无需手动调用。
学生信息表(stu):记录学生了的学号,姓名,性别,年龄
在这里插入描述
日志信息表(stu_log):记录对学生信息的 *** 作(记录在xx时间对xx学生进行了xx *** 作)
在这里插入描述
当向stu表中进行增加删除修改学生信息时,同时要在stu_log表中添加一条 *** 作日志
1、NEW与OLD关键字介绍
触发器用于监听对数据表中数据的insert,delete,update *** 作,在触发器中通常处理一些DML的关联 *** 作
我们可以使用’new’和’old’关键字在触发器中获取触发这个触发器的DML *** 作的数据
new:用于获取insert *** 作添加的数据,update修改后的数据
old:在触发器中用于获取delete *** 作删除前的数据,update修改前的数据
接下来我们在创建触发器的时候,就可以充分使用这两个关键字对学生表信息进行关联获取。
2、创建触发器
我们需要创建三个触发器,分别执行用户对学生表(stu)进行增加,修改,删除 *** 作时进行自动记录。
21增加学生信息的触发器
22修改学生信息的触发器
23删除学生信息的触发器
24查看触发器
stu_tri_insert,stu_tri_update,stu_tri_delete三个触发器分别对应着用户对学生表(stu)执行增删改 *** 作时,会添加进日志信息表(stu_log)的信息。
在这里插入描述
3、最终实现效果
31当对学生表(stu)执行插入 *** 作时
在这里插入描述
触发器的 *** 作被自动执行,日志信息表(stu_log)新增了学生表(stu)所执行的添加 *** 作记录
在这里插入描述
32当对学生表(stu)执行修改 *** 作时
在这里插入描述
触发器的 *** 作被自动执行,日志信息表(stu_log)新增了学生表(stu)所执行的修改 *** 作记录
在这里插入描述
33当对学生表(stu)执行删除 *** 作时
在这里插入描述
触发器的 *** 作被自动执行,日志信息表(stu_log)新增了学生表(stu)所执行的删除 *** 作记录
在这里插入描述
4、文中出现的增删改SQL语句

网站程序中的Form表单 是重要的组成内容之一 很多时候 Form表单会出现乱码的现象 会给网站造成一定的困扰 如何解决乱码的问题

JSP和Servlet的六种中文乱码处理方法

一 表单提交时出现乱码

在进行表单提交的时候 经常提交一些中文 自然就避免不了出现中文乱码的情况 对于表单来说有两种提交方式 get和post提交方式 所以请求的时候便有get请求和post请求 每种方式都有着不同的解决方法 之所以出现乱码 原因就在于get请求时 其传递给服务器的数据是附加在URL地址之后的;而post的请求时 其传递给服务器的数据是作为请求体的一部分传递给服务器 这也就导致了对它们所产生的乱码的处理方式是不同的

客户端的get请求

对于不同的请求方式 解决乱码的问题也是不一样的 对于客户端的get请求来说 服务器端处理要想不出现乱码 解决这个问题稍微复杂一些 需要用到String类型的构造函数 其中的一个构造函数就是用指定的编码方式去解码 一般都用“UTF ”的方式 只要在服务器端将请求得到的参数重新构造成一个字符串就行了

经过构造之后 客户端输入中文 且表单时get请求的情况下 str就变成了中文了

客户端的post请求

对于客户端的post请求来说 处理乱码的问题就比较简单了 因为请求的数据时作为请求体的一部分传递给服务器的 所以只要修改请求内的编码就行了 只要在服务器端的最开始处将请求的数据设置为“UTF ”就行了 输入如下语句 request setCharacterEncoding(“UTF ”);这样用户在服务器端获取到的中文数据就不再是乱码了

二 超链接时出现乱码(低版本浏览器不行IE )

在Web开发中 挺多的时候都是通过超链接去传递中文参数的 这也会导致在显示的时候也会出现乱码 对于超链接来说 它实际上是向服务器端发送了一个请求 而它发出的请求是属于get请求 所以对于超链接的乱码来说 它处理乱码的方式和表单的get请求出现乱码的方式是一样的

三 重定向时出现乱码(低版本浏览器不行IE )

有时写上response的sendRedirect方法进行重定向时也会出现乱码 重定向时实际上也是向服务器发送了一个请求 所以解决乱码的方法和和上面是一样的

四 浏览器版本低导致的乱码

上网的时候 有时提交的一些信息在地址栏显示的是“% C%C %CC%C ”的字样 其实这都是防止出现乱码进行的解决方案 如果你的浏览器是IE 或以下版本 则我们的第二种情况和第三种情况会出现乱码(尤其是当中文是奇数的时候) 这就不好使了所以我们必须采用另一种比较实际的作法

在java net包中提供了URLEncoder类和URLDcoder类 这两个类又分别提供了encode和decode两个静态方法 分别用于进行编码和解码 我们将要传递的中文参数进行编码之后 在传递给服务器 服务器解码之后 就可以显示中文了

进行编码 URLEncoder encode(stuname ”UTF ”)

传递给服务器 <a href=”/ jspstuname<%=stuname%>”>传递</a>

进行解码 URLDecoder decode(stuname ”UTF ”)

五 返回浏览器显示的乱码

在Servlet编程中 经常需要通过response对象将一些信息返回给浏览器 给我们的客户端 而我们在服务器端显示的中文 但是响应给客户端浏览器却是乱码 这主要是由于response对象的getWriter()方法返回的PrintWriter对象默认使用“ISO ”字符集编码进行Unicode字符串到字节数组的转换 由于ISO 字符集中根本就没有包含中文字符 所以Java在进行转换的时候会将无效的字符编码输出给客户端 于是便出现了乱码 为此ServletResponse接口中便定义了setCharacterEncoding setContentType等方法来指定getWriter方法返回的PrintWriter对象所使用的字符集编码 所以我们在写Servlet程序中 在调用getWriter方法之前设置这些方法的值

只要编写Servlet文件中含有响应给客户端的信息 那么就要写上这两句话 最好写上第二句话 因为它的优先级高 它的设置结果将覆盖setContentType等方法设置的字符编码集

六 修改Tomcat的编码

在get请求所导致乱码问题中 还有一种解决的方案 我们常用Tomcat作为运行Servlet和JSP的容器 而Tomcat内部默认的编码是ISO 所以对于get请求方式 其传递的数据(URI)会附加在访问的资源后面 其编码是Tomcat默认的 如果修改该URI的编码 那么对于所有的get请求方式便不会出现乱码了包括上边说的重定向和超链接 在Tomcat的配置文件server xml中找到修改Tomcat的端口的地方 在其内部加入URIEncoding属性 设置为和你的项目中所设的编码一样的值 这里全部都是UTF

lishixinzhi/Article/program/Java/JSP/201311/20540

首先说说 Nginx: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。云帆提供Flash端的SDK开发包,你可根据自己的需求开发成视频网站和视频播放器,使用云帆技术可以帮助你快速轻量级的实现视频网站和视频播放器,降低编解码技术和网络传输技术的开发成本。其中,便支持自搭建Nginx、apache服务。
那么该如何安装配置Nginx,让它服务于我们呢?相信有不少同学不清楚windows怎么安装配置nginx,以下一个一个步骤,详细地介绍下:
1、下载nginx稳定版
2、解压nginxzip,将解压后的目录移动到指定要求目录,如c:\nginx
3、进到该目录去,nginxexe是nginx启动程序,conf是nginx一些配置文件目录,其中nginxconf是nginx主配置文件
4、编辑主配置文件nginxconf
#表示注释
nginx配置文件里默认用相对路径,是相对nginx的根目录,如果采用上面那就是相对c:\nginx,也可以用绝对路径


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13442880.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-07
下一篇 2023-08-07

发表评论

登录后才能评论

评论列表(0条)

保存