江南老顽童 发表于 2021-4-26 10:33:17

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

因为是客户端是通过软件在线更新数据库,所以要通过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 whereCodArticolo=id) then
SET @sqlcmd = concat('updategiacenza 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.ExecuteSQL 这样子的形式创建?

邱梦芸 发表于 2021-5-13 01:29:19

1用nacicat把数据导出来一份,就知道语句的格式是什么样子了啊
然后再执行语句创建/更新表,然后添加数据

2 或是把写好的脚本发给mysql服务器,然后使用mysqldump.exe来执行脚本啊
页: [1]
查看完整版本: 怎么用一句SQL语句创建一个函数