MySQL触发器应用与其存储过程的实际操作
以下的文章主要描述的是MySQL触发器的实际应用与其存储过程的实际操作,以下的文章将会给你提供相应的详细方案讲解,以下就是相关内容的具体描述。希望会给你带来一些帮助在此方面。 触发器: MySQL数据库创建触发器的格式如下: create trigger 触发器名称
以下的文章主要描述的是MySQL触发器的实际应用与其存储过程的实际操作,以下的文章将会给你提供相应的详细方案讲解,以下就是相关内容的具体描述。希望会给你带来一些帮助在此方面。
触发器:
MySQL数据库创建触发器的格式如下:
create trigger
{ before | after}
{insert | update | delete}
on
for each row
:触发器要执行的SQL语句,如果该触发器要执行多条SQL语句,要将多条语句放在begin…end块中。
Show triggers 显示所有的触发器信息!
存储过程:
创建
<ol class="dp-xml"> <li class="alt"><span><span>DELIMITER $$ </span></span></li> <li><span>DROP PROCEDURE IF EXISTS `test`.`outprint`$$ </span></li> <li class="alt"><span>CREATE PROCEDURE print1(out a varchar(100)) </span></li> <li><span>BEGIN </span></li> <li class="alt"><span>select name from info into a; </span></li> <li><span>END$$ </span></li> <li class="alt"><span>DELIMITER ; </span></li> </ol>
调用
<ol class="dp-xml"> <li class="alt"><span><span>Call print1(@c); </span></span></li> <li><span>Select @c; </span></li> </ol>
注意
这样传值只能查找一个值赋给a
Select * from info into a就错了
Show create {procedure | function } 名字
查看存储过程和函数
Drop {procedure | function} [if exists] 名字
Alter {procedure | function} 名字
注意:通过 begin end 可以来包含多个语句,每个语句以“;”结尾。
创建插入
<ol class="dp-xml"> <li class="alt"><span><span>DELIMITER $$ </span></span></li> <li><span>DROP PROCEDURE IF EXISTS `test`.`insert_info`$$ </span></li> <li class="alt"> <span>CREATE </span><span class="attribute">DEFINER</span><span>=`root`@`%` PROCEDURE `insert_info`(in id int(5),in name varchar(50),in age int(5)) </span> </li> <li><span>begin </span></li> <li class="alt"><span>insert into info values (id,name,age); </span></li> <li><span>end$$ </span></li> <li class="alt"><span>DELIMITER ; </span></li> </ol>
调用
<ol class="dp-xml"><li class="alt"><span><span>call insert_info(2,'rrr',56); </span></span></li></ol>
创建插入输出(验证密码用)
<ol class="dp-xml"> <li class="alt"><span><span>Delimiter $$ </span></span></li> <li><span>Create procedure validateuser </span></li> <li class="alt"><span>(in username varchar(20),out param1 varchar(100)) </span></li> <li><span>Begin </span></li> <li class="alt"><span>Select Pwd into param1 from welefen.user </span></li> <li> <span>where </span><span class="attribute">Name</span><span>=</span><span class="attribute-value">username</span><span>; </span> </li> <li class="alt"><span>End $$ </span></li> </ol>
调用
<ol class="dp-xml"> <li class="alt"><span><span>call check1('sss',@pw); </span></span></li> <li><span>select @pw; </span></li> </ol>
验证角谷猜想
角谷猜想:给定一个整数x,若x%2=1,则x=3*x+1,
否则x=x/2,
如此循环下去
,经过有限步骤必 能得到1。
例如: 初始整数为9 则
9->28->14->7->22->11->34->17->52->26
->13->40->20->10->5->16->8->4->2->1
为了说明存储过程语法的应用,存储过程来实现它:
创建存储过程:
<ol class="dp-xml"> <li class="alt"><span><span>delimiter $$ </span></span></li> <li><span>drop procedure if exists jgguess$$ </span></li> <li class="alt"><span>create procedure jgguess(in number int) </span></li> <li><span>begin </span></li> <li class="alt"><span>declare param1 int default 1; </span></li> <li> <span>set @</span><span class="attribute">a</span><span>=</span><span class="attribute-value">concat</span><span>(number); </span> </li> </ol>
jiaogu:loop #循环开始
set param1=number%2;
if param1=1 then set number=number*3+1; #number 为奇数,将它乘3加 1
else set number=number/2;
end if;
set @a=concat(@a,'->',number);
if number>1 then iterate jiaogu; #number 不为 1,继续循环
else
leave jiaogu; #退出循环
<ol class="dp-xml"> <li class="alt"><span><span>end if; </span></span></li> <li><span>end loop jiaogu; </span></li> <li class="alt"><span>end $$ </span></li> <li><span>delimiter ; </span></li> </ol>
调用:
<ol class="dp-xml"> <li class="alt"><span><span>call jgguess(9); </span></span></li> <li><span>select @a; </span></li> </ol>
以上的相关内容就是对MySQL中触发器和存储过程的介绍,望你能有所收获。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



You can open phpMyAdmin through the following steps: 1. Log in to the website control panel; 2. Find and click the phpMyAdmin icon; 3. Enter MySQL credentials; 4. Click "Login".

MySQL is an open source relational database management system, mainly used to store and retrieve data quickly and reliably. Its working principle includes client requests, query resolution, execution of queries and return results. Examples of usage include creating tables, inserting and querying data, and advanced features such as JOIN operations. Common errors involve SQL syntax, data types, and permissions, and optimization suggestions include the use of indexes, optimized queries, and partitioning of tables.

Redis uses a single threaded architecture to provide high performance, simplicity, and consistency. It utilizes I/O multiplexing, event loops, non-blocking I/O, and shared memory to improve concurrency, but with limitations of concurrency limitations, single point of failure, and unsuitable for write-intensive workloads.

MySQL's position in databases and programming is very important. It is an open source relational database management system that is widely used in various application scenarios. 1) MySQL provides efficient data storage, organization and retrieval functions, supporting Web, mobile and enterprise-level systems. 2) It uses a client-server architecture, supports multiple storage engines and index optimization. 3) Basic usages include creating tables and inserting data, and advanced usages involve multi-table JOINs and complex queries. 4) Frequently asked questions such as SQL syntax errors and performance issues can be debugged through the EXPLAIN command and slow query log. 5) Performance optimization methods include rational use of indexes, optimized query and use of caches. Best practices include using transactions and PreparedStatemen

MySQL is chosen for its performance, reliability, ease of use, and community support. 1.MySQL provides efficient data storage and retrieval functions, supporting multiple data types and advanced query operations. 2. Adopt client-server architecture and multiple storage engines to support transaction and query optimization. 3. Easy to use, supports a variety of operating systems and programming languages. 4. Have strong community support and provide rich resources and solutions.

Effective monitoring of Redis databases is critical to maintaining optimal performance, identifying potential bottlenecks, and ensuring overall system reliability. Redis Exporter Service is a powerful utility designed to monitor Redis databases using Prometheus. This tutorial will guide you through the complete setup and configuration of Redis Exporter Service, ensuring you seamlessly build monitoring solutions. By studying this tutorial, you will achieve fully operational monitoring settings

The methods for viewing SQL database errors are: 1. View error messages directly; 2. Use SHOW ERRORS and SHOW WARNINGS commands; 3. Access the error log; 4. Use error codes to find the cause of the error; 5. Check the database connection and query syntax; 6. Use debugging tools.

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.
