当前位置: 首页 > news >正文

荥阳网站建设多少钱沈阳seo技术

荥阳网站建设多少钱,沈阳seo技术,自己用模板做网站,深圳网站设计 深圳信科在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为。以下是详细解释和解决方案: 问题根源 SQLyog的语句分隔逻辑: SQLyog默认会根据分号(;)和换行自动分隔SQL语句 当代码有缩进时,SQLy…

在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为。以下是详细解释和解决方案:


问题根源

  1. SQLyog的语句分隔逻辑

    • SQLyog默认会根据分号(;)和换行自动分隔SQL语句

    • 当代码有缩进时,SQLyog可能错误地将缩进后的内容识别为新的SQL语句

  2. DELIMITER的敏感性

    • DELIMITER //命令必须独立一行且无前导空格

    • 任何缩进都会导致SQLyog将其视为普通文本而非指令

  3. 存储过程体内的语句

    • 过程体内的缩进不会影响执行(因为是作为整体解析)

    • 但过程体外的命令(如DELIMITER)必须无缩进


正确写法示例

-- 必须顶格写(无缩进)
DELIMITER //
CREATE PROCEDURE grant_role_to_all_users()
BEGIN-- 这里面的缩进不会影响执行DECLARE finished INTEGER DEFAULT 0;DECLARE user_host VARCHAR(255);DECLARE user_cursor CURSOR FOR SELECT CONCAT('`',USER,'`@`',HOST,'`') FROM mysql.user WHERE USER NOT IN ('root','mysql.sys','mysql.session','mysql.infoschema');DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;OPEN user_cursor;get_user: LOOPFETCH user_cursor INTO user_host;IF finished = 1 THEN LEAVE get_user; END IF;SET @grant_sql = CONCAT('GRANT "public_role" TO ', user_host);PREPARE stmt FROM @grant_sql;EXECUTE stmt;DEALLOCATE PREPARE stmt;SET @default_sql = CONCAT('SET DEFAULT ROLE "public_role" FOR ', user_host);PREPARE stmt FROM @default_sql;EXECUTE stmt;DEALLOCATE PREPARE stmt;END LOOP get_user;CLOSE user_cursor;
END//
-- 必须顶格写(无缩进)
DELIMITER ;

永久解决方案

  1. 关闭SQLyog的自动分隔功能

    • 菜单栏 → 工具 → 首选项 → 查询编辑器

    • 取消勾选"自动分隔SQL语句"

  2. 使用批处理执行模式

    • 全选所有代码(包括DELIMITER)

    • Ctrl+Shift+F9(批处理执行)而非普通执行

  3. 检查编辑器设置

    • 确保没有开启"智能缩进"或"语法感知缩进"功能


为什么命令行不受影响?

MySQL原生命令行客户端:

  • 完全依赖DELIMITER指令

  • 不关心缩进和格式

  • 直到遇到定义的结束符(如//)才会执行

而SQLyog等图形工具为提高易用性,会尝试自动解析SQL结构,导致对格式敏感。


最佳实践建议

  1. 存储过程创建语句建议:

    • DELIMITER和END//必须顶格

    • 过程体内的缩进保持一致性(4空格或1个tab)

  2. 复杂过程建议:

    -- 顶格
    DELIMITER //
    CREATE PROCEDURE proc_name()
    BEGIN-- 缩进内容SELECT * FROM table;
    END//
    -- 顶格
    DELIMITER ;
  • 保存为脚本文件后通过命令行执行:

    mysql -u user -p db_name < procedure.sql

respect!

http://www.cadmedia.cn/news/16617.html

相关文章:

  • 网站登录注册页面模板下载你对网络营销的理解
  • 网站建设虚拟服务器深圳营销型网站建设
  • 二次开发简单吗全国推广优化网站
  • 宁波网络公司在哪里百度快速收录seo工具软件
  • 嵌入式硬件开发重庆seo技术教程
  • 农业部项目建设管理网站新闻 最新消息
  • 国家城乡住房建设部网站怎么设置自己的网站
  • 东营建设局网站爱站查询工具
  • 珠海单位网站建设东莞外贸优化公司
  • 山西网站建设开发团队seo运营是做什么的
  • 网络方案seo实战优化
  • 哪个网站可有做投票搭建优化网站的步骤
  • 用java做网站验证码怎么写防控措施持续优化
  • 威海做网站公司seo排名外包
  • 周口市建设局网站搜索引擎优化方法有哪几种
  • 西湖区建设局网站google浏览器官网入口
  • 网站建设委托合同百度推广管理平台登录
  • 建设网站最便宜多少钱成都网络推广运营公司
  • 建设 政务数据共享网站2345网址导航电脑版
  • 专业建设网站外包百度建站官网
  • 中山网站建设是什么意思网站优化方式有哪些
  • 商城网站建设需要多少钱环球军事网最新军事新闻最新消息
  • 宁波荣胜网络科技有限公司个人网站seo入门
  • 扬之云公司网站建设日本疫情最新数据
  • 深圳西乡网站建设搜狗搜索引擎优化论文
  • 阿里云php网站建设教程公司网站定制
  • Hdi做指数网站网络营销专业学校排名
  • 吉林城市建设学校网站seo免费浏览网站
  • 惠州免费网站建设百度推广登录首页
  • 株洲网站制作建设seo推广公司价格