mysql 存储过程 数据库表名字段作为参数传递给存储过程的方法

mysql 存储过程 数据库表名字段作为参数传递给存储过程的方法,第1张

直接将数据库表名字段作为字符类型传到存储过程中,存储过程拼接sql语句,再用exec执行。例如:

CREATE

PROCEDURE

[proc_test]

(@tablename

varchar(100))

WITH

EXECUTE

AS

CALLER

AS

declare

@sql

varchar(1000);

set

@sql='select

from

'+@tablename

exec(@sql)

GO

再直接执行

exec

proc_test

'学生表'

 

    DECLARE stuName VARCHAR(50);

    DECLARE flag INT;

    DECLARE update_cursor CURSOR 

    FOR 

    SELECT stu_name FROM student WHERE id = id;

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag=1;

    SET flag=0;

    OPEN update_cursor;

    REPEAT  /循环/

    FETCH update_cursor INTO stuName;

        SET json = CONCAT(json,',',stuName);   

    UNTIL flag 

    END REPEAT;

    CLOSE update_cursor ;

SELECT VALUE INTO V_VALUE FROM TABLENAME WHERE ID = p_id ;

V_VALUE := V_VALUE + P_NUM;

UPDATE TABLENAME SET VALUE = V_VALUE WHERE ID = p_id ;

CREATE DEFINER 存储过程名

@变量1 类型 ----这里个就是传进来的

@变量2 类型 output ----这个是定义输出变量

as

declared @变量 类型,@变量 类型 --这里是定义内部变量 只能这是过程用

if 条件

begin

#¥%……&

end

else

begin

#¥%……&

end

-----不知道你要什么

execute 数据库名dbo过程名 -----这个是 在这个过程里 调用别的过程

CREATE PROCEDURE proc_name

AS

begin

select aaid,bbid,aname,btitle from a,b where aaid=baid

end

以上就是关于mysql 存储过程 数据库表名字段作为参数传递给存储过程的方法全部的内容,包括:mysql 存储过程 数据库表名字段作为参数传递给存储过程的方法、在MySql数据库中实现一个存储过程,在这个存储过程中,需要用游标,动态SQL,详情点击查看。。。、MySql的存储过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9799162.html

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

发表评论

登录后才能评论

评论列表(0条)

保存