栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

SQL存储过程--刘世民

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL存储过程--刘世民

#创建存储过程
DELIMITER $ 
CREATE  PROCEDURE testa()
BEGIN
    SELECt * FROM  student;
    SELECt * FROM cj;
END $
DELIMITER ;

#调用存储过程
CALL testa();

#创建存储过程
DELIMITER $
CREATE  PROCEDURE test2()
BEGIN 
    #声明变量类型
    DECLARE UN VARCHAr(32) DEFAULT'';
    #给username变量赋值
    SET un='xiaoxiao';
    #将查询结果赋值给un变量
    SELECt username INTO FROM student WHERe stuid =1;
    #查询un变量,返回
    SELECt un;
END $
DELIMITER;
#调用存储过程
CALL test2();

#变量的作用过程
DELIMITER $
CREATE  PROCEDURE test3()
BEGIN 
    BEGIN
        BEGIN 
            #声明变量类型
            DECLARE UN VARCHAr(32) DEFAULT'';
            #给username变量赋值
            SET un='xiaoxiao';
            #将查询结果赋值给un变量
            SELECT username INTO FROM student WHERe stuid =1;
            #查询un变量,返回
            SELECt un;
        END $
        BEGIN
            #声明变量类型
            DECLARE UN VARCHAr(32) DEFAULT'';
            #给username变量赋值
            SET un='xiaoxiao';
            #将查询结果赋值给un变量
            SELECT username INTO FROM student WHERe stuid =1;
            #查询un变量,返回
            SELECt un;
        END;
END $
DELIMITER ;
#调用存储过程
CALL test3();

#创建库
CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET UTF8;
USE  test;
#创建表
CREATE TABLE IF NOT EXISTS  users
(
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAr(50),
    age INT,
    STATUS INT,
    score INT,
    accontid INT
);
SELECT * FROM users;
#插入数据
INSERT INTO users(NAME,age,STATUS,score,accontid)
    VALUES('张三',19,0,40,10001),
        ('李四',15,1,0,10002),
        ('王五',15,2,0,10001),
        ('王小利',20,3,0,10003);

CREATE TABLE IF NOT EXISTS orders
(
    id INT PRIMARY KEY AUTO_INCREMENT,
    order_name VARCHAr(50),
    carete_date DATETIME,
    money INT
);
SELECt * FROM orders;
INSERT INTO orders(order_name,carete_date,money)
        VALUES('201902020001','2019-02-20 09:53:22',200),
            ('201902020002','2019-04-20 08:53:22',100),
            ('20190219003','2019-03-20 07:53:22',300);

#创建存储过程
DELIMITER $
CREATE PROCEDURE test4(userId INT)
BEGIN
    #声明变量usernaem
    DECLARE username VARCHAr(32) DEFAULT ''; 
    #声明变量订单数量ordercount
    #declare ordercount int default 0;
    #查询语句,将用户表的名字放到username变量
    SELECt  NAME INTO username FROM users WHERe id=userId;
    #将变量username查出
    SELECt username;
END $
DELIMITER ;

CALL test4(1);


#创建存储过程
DELIMITER $
CREATE PROCEDURE test7(userId INT)
BEGIN
    #声明变量usernaem
    DECLARE username VARCHAr(32) DEFAULT ''; 
    IF(userId%2=0)
    THEN
        #查询语句,将用户表的名字放到username变量
        SELECT  NAME INTO username FROM users WHERe id=userId;
        #将变量username查出
        SELECt username;
    ELSE
        SELECT userId;
    END IF;
END  $
DELIMITER ;

CALL test7(2);

#创建存储过程
DELIMITER $
CREATE PROCEDURE test9()
BEGIN
    #声明变量
    DECLARE i INT DEFAULT 0; 
    #while循环,do后面是循环体
    WHILE(i<10)DO
      BEGIN
        SELECT i;
        SET i=i+1;
        INSERT INTO test1(id) VALUES(i);
      END;
    #结束循环
    END WHILE;
END $
DELIMITER $;

CALL test9();
SELECT * FROM test1;

#创建存储过程
DELIMITER $
CREATE PROCEDURE test10()
BEGIN
    #声明变量
    DECLARE i INT DEFAULT 0; 
    #while循环,do后面是循环体
    REPEAT
      BEGIN
        SELECt i;
        SET i=1+1;
        INSERT INTO test1(id) VALUES(i);
      END;
    #结束循环
    UNTIL i>=10;
    END REPEAT;
END $
DELIMITER $;

CALL test10();


#定义函数
DELIMITER $
CREATE FUNCTION getusername(userid INT) RETURNS VARCHAr(32)
READS SQL DATA #从数据库中读取数据,但不修改数据
   BEGIN 
    DECLARE username VARCHAr(32) DEFAULT '';
    SELECT NAME INTO username FROM users WHERe id=userid;
    RETURN username;
   END $
   DELIMITER ;
   #调用函数
   SELECT getusername(1);
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/907781.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号