一个帐号表,账号id是自增字段(起始id为1000001),账号名,账号密码,创建时间,总共四个字段。 要求: 实现的功能是,输入一对账号密码,判断账号是否存在,不存在则insert这个账号,然后返回新插入的这条账号信息,如果存在,则直接返回这条账号信息存储过程。
时间: 2024-05-08 20:16:31 浏览: 17
以下是MySQL实现的存储过程:
```
DELIMITER //
CREATE PROCEDURE `insert_or_select_account` (
IN account_name VARCHAR(255),
IN account_password VARCHAR(255),
OUT account_id INT,
OUT account_name_out VARCHAR(255),
OUT account_password_out VARCHAR(255),
OUT create_time DATETIME
)
BEGIN
DECLARE account_found INT DEFAULT 0;
SELECT COUNT(*) INTO account_found FROM account WHERE account_name = account_name_in;
IF account_found = 0 THEN
INSERT INTO account (account_name, account_password, create_time) VALUES (account_name_in, account_password_in, NOW());
SET account_id = LAST_INSERT_ID();
SELECT account_name, account_password, create_time INTO account_name_out, account_password_out, create_time FROM account WHERE account_id = account_id;
ELSE
SELECT account_id, account_name, account_password, create_time INTO account_id, account_name_out, account_password_out, create_time FROM account WHERE account_name = account_name_in;
END IF;
END //
DELIMITER ;
```
存储过程的参数包括账号名、账号密码和四个输出参数,其中account_id是自增字段,不需要手动输入。存储过程首先查询账号是否存在,如果不存在则插入新账号并返回新插入的这条账号信息,如果存在则直接返回这条账号信息。在存储过程中,使用了LAST_INSERT_ID()函数获取新插入账号的自增id,使用COUNT(*)函数查询账号是否存在。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)