怎么用一句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 这样子的形式创建?
1用nacicat把数据导出来一份,就知道语句的格式是什么样子了啊
然后再执行语句创建/更新表,然后添加数据
2 或是把写好的脚本发给mysql服务器,然后使用mysqldump.exe来执行脚本啊
页:
[1]