博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编写sql脚本需要注意的问题
阅读量:7197 次
发布时间:2019-06-29

本文共 620 字,大约阅读时间需要 2 分钟。

1.一般情况下,sql脚本最开始应设置utf-8字符集,以此避免中文乱码的问题;

set names utf8;

2.关于函数的定义,可仿如下示例,以此避免在命令行下连接数据库时,source我们的sql脚本引起不知名的Error;

DROP FUNCTION IF EXISTS `xyz_sequence.nextval`;DELIMITER //CREATE FUNCTION `xyz_sequence.nextval`()RETURNS BIGINTNOT DETERMINISTICREADS SQL DATABEGIN    DELETE from t_xyz_sequence;    INSERT t_xyz_sequence values(NULL);    return LAST_INSERT_ID();END;//DELIMITER ;

delimiter其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。所以一般情况下,定义函数或者存储过程时,为了保证事务一致性,需要暂时修改默认的分隔符为//或$$,在定义结束之后,需要立刻设置回默认分隔符为分号;。

转载于:https://www.cnblogs.com/songzehao/p/10854281.html

你可能感兴趣的文章
Oracle RAC 添加节点
查看>>
WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用
查看>>
也聊老朋友:诺基亚的归来
查看>>
工信部:云计算等新增长点正在孕育
查看>>
频频发力 5G,英特尔在下一代技术上都做了什么?
查看>>
ffmpeg-php 视频格式转换
查看>>
如何黑掉Z-Way控制下的智能家居
查看>>
linux下磁盘容量和df命令原理
查看>>
DOM
查看>>
Nginx学习笔记(一) Nginx架构
查看>>
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)...
查看>>
TCP/IP模型的一个简单解释
查看>>
Java Core系列之TreeMap实现详解
查看>>
PostgreSQL 9.4在RHEL上的安装
查看>>
【数据结构之旅】稀疏矩阵的快速转置
查看>>
java 获取文件大小
查看>>
LLDB使用以及技巧
查看>>
iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
查看>>
Velocity宏定义的坑与解决办法
查看>>
数据对接—kettle使用之一
查看>>