小白教程

 找回密码
 立即注册
查看: 7734|回复: 1

怎么用一句SQL语句创建一个函数

[复制链接]

1

主题

2

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2021-4-26 10:33:17 | 显示全部楼层 |阅读模式
因为是客户端是通过软件在线更新数据库,所以要通过SQL语句执行,没办法导入一个SQL文件,类似添加表,添加字段之类的,都可以用SQL语句
但创建函数的内容有结构在那,类似换行什么的,有什么办法可以处理?

SET FOREIGN_KEY_CHECKS=0;

DROP PROCEDURE IF EXISTS `ugiacenza`;
DELIMITER ;;
CREATE DEFINER=`root@localhost` PROCEDURE `ugiacenza`(in `id` int,in `sl` int,in `n` int)
BEGIN
DECLARE gn VARCHAR(10) DEFAULT CONCAT('G', n);

IF EXISTS (select * from giacenza where  CodArticolo=id) then
SET @sqlcmd = concat('update  giacenza set ', gn ,'=', gn ,'+', sl ,'  where CodArticolo=',id);
prepare stmt from @sqlcmd;
execute stmt;
deallocate prepare stmt;
ELSE
SET @sqlcmd = concat('INSERT INTO giacenza (CodArticolo,', gn ,') VALUES (', id ,',', gn ,')');
prepare stmt from @sqlcmd;
execute stmt;
deallocate prepare stmt;
end if;
END
;;
DELIMITER ;



如上内容,如果把它压缩成一句SQL  以  conn.Execute  SQL 这样子的形式创建?
回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2021-5-13 01:29:19 | 显示全部楼层
1用nacicat把数据导出来一份,就知道语句的格式是什么样子了啊
然后再执行语句创建/更新表,然后添加数据

2 或是把写好的脚本发给mysql服务器,然后使用mysqldump.exe来执行脚本啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-9-20 12:38 , Processed in 0.023878 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表