PLSQL格式化\美化Sql设置

您所在的位置:网站首页 plsql怎么格式化代码 PLSQL格式化\美化Sql设置

PLSQL格式化\美化Sql设置

2024-07-13 08:54| 来源: 网络整理| 查看: 265

设置方法: 

打开PL/SQL Developer;

PL/SQL Developer 12这个版本中,SQL美化器在Configure中;

右击PL/SQL Beautifier按钮,现在添加到快捷工具栏(为灰色说明已添加,可略过此步骤),如下图所示:

在Tools中就可以看到SQL美化按钮,点击即可完成SQL格式化。如果要对部分SQL语句格式化,需要先选中SQL内容。

我们都知道任何一种语言,都应该讲究一定的规范,因为优秀的代码通常都是先让人读懂,其次才是机器读懂。否则没有任何规范和解释说明的代码,后期维护会增加很多成本,即使是开发者自己维护有时后也会忘了个中逻辑和开发思路。SQL也是如此,尤其是存储过程、自定义函数里的片段更为重要,笔者目前在维护的是我们公司PMD一期的一个项目,里面的存储过程,最长的有上千行,虽然解释也有些,但是变量命名规范什么的,修改存储过程的时候,真是苦不堪言。貌似扯得远了,说正题吧PL/SQL中正好有个代码优化的功能,里面可以定义规则,但是始终得不到自己想要的效果,于是乎google在博客里下了些所谓的PL/SQL美化模板,结果效果还是一样的渣渣。趁着午休的时候研究了下.br的文件,想自己定义自己的规范,改一个属性就对照下.br文件的改变,大概了解了里面的语法如下:

PL/SQL自动样式

将以下设置,保存为“ plsql.br ” 文件,使用PL/SQL的 edit --> PL/SQL Beautifier Options 添加这个文件并启用,之后编辑存储过程或者SQL时,CTRL+S(保存)时,就会自动将当前的语句按照设置的格式进行格式化

Version=1 RightMargin=76 Indent=2 UseTabCharacter=FALSE TabCharacterSize=2 AlignDeclarationGroups=TRUE AlignAssignmentGroups=TRUE KeywordCase=1 IdentifierCase=2 UseSpecialCase=TRUE ItemList.Format=3 ItemList.Align=TRUE ItemList.CommaAfter=TRUE ItemList.AtLeftMargin=FALSE EmptyLines=1 ThenOnNewLine=FALSE LoopOnNewLine=FALSE DML.LeftAlignKeywords=FALSE DML.LeftAlignItems=FALSE DML.OnOneLineIfPossible=TRUE DML.WhereSplitAndOr=TRUE DML.WhereAndOrAfterExpression=FALSE DML.WhereAndOrUnderWhere=TRUE DML.JoinSplitBeforeOn=TRUE DML.InsertItemList.Format=3 DML.InsertItemList.Align=FALSE DML.InsertItemList.CommaAfter=TRUE DML.InsertItemList.AtLeftMargin=FALSE DML.SelectItemList.Format=3 DML.SelectItemList.Align=TRUE DML.SelectItemList.CommaAfter=TRUE DML.SelectItemList.AtLeftMargin=FALSE DML.UpdateItemList.Format=3 DML.UpdateItemList.Align=TRUE DML.UpdateItemList.CommaAfter=TRUE DML.UpdateItemList.AtLeftMargin=FALSE ParameterDeclarationList.Format=2 ParameterDeclarationList.Align=TRUE ParameterDeclarationList.CommaAfter=TRUE ParameterDeclarationList.AtLeftMargin=TRUE RecordFieldList.Format=1 RecordFieldList.Align=TRUE RecordFieldList.CommaAfter=TRUE RecordFieldList.AtLeftMargin=FALSE SplitAndOr=FALSE AndOrAfterExpression=FALSE #Db自动样式文件属性说明:Version=1 RightMargin=100//右边距,间接决定了一行的长度 Indent=2//缩进2个字符 UseTabCharacter=FALSE//使用跳格字符? TabCharacterSize=2//跳格字符大小 AlignDeclarationGroups=TRUE//是否对齐变量声明 AlignAssignmentGroups=TRUE//是否对齐变量赋值部分 KeywordCase=1//关键字的风格 0:不变  1 小写 2 大写 3 首字母大写 IdentifierCase=3//标识符的风格 0:不变  1 小写 2 大写 3 首字母大写 UseSpecialCase=TRUE//使用特殊大小写? ItemList.Format=1//元素的格式 0:在同一行上  1:尽量放在同一行  2:一个元素一行  3 :自适应 ItemList.Align=TRUE//是否对齐 ItemList.CommaAfter=TRUE//是否在元素后加上逗号 ItemList.AtLeftMargin=FALSE EmptyLines=0//空行的处理 0:移除 1:并为一行 2:保持原样 ThenOnNewLine=TRUE//then 重起一行 LoopOnNewLine=TRUE//loop 重起一行 //数据操作语句时 DML.LeftAlignKeywords=TRUE//关键字左对齐 DML.LeftAlignItems=FALSE//元素左对齐(包括数据库表字段、表名什么的) DML.OnOneLineIfPossible=TRUE//如果可能在同一行上 DML.WhereSplitAndOr=TRUE// and/or另起一行 DML.WhereAndOrAfterExpression=FALSE//and/or在表达式后面 DML.WhereAndOrUnderWhere=TRUE //and/or在where 后 DML.JoinSplitBeforeOn=TRUE //连接时在on之前分成两行 //插入语句 DML.InsertItemList.Format=1//元素的格式 0:在同一行上  1:尽量放在同一行  2:一个元素一行  3 :自适应 DML.InsertItemList.Align=FALSE//是否对齐 DML.InsertItemList.CommaAfter=TRUE//在元素后加上逗号 DML.InsertItemList.AtLeftMargin=FALSE//元素在左边 DML.SelectItemList.Format=1//元素的格式 0:在同一行上  1:尽量放在同一行 DML.SelectItemList.Align=TRUE DML.SelectItemList.CommaAfter=TRUE DML.SelectItemList.AtLeftMargin=FALSE DML.UpdateItemList.Format=1 DML.UpdateItemList.Align=TRUE DML.UpdateItemList.CommaAfter=TRUE DML.UpdateItemList.AtLeftMargin=FALSE ParameterDeclarationList.Format=1 ParameterDeclarationList.Align=TRUE ParameterDeclarationList.CommaAfter=TRUE ParameterDeclarationList.AtLeftMargin=FALSE RecordFieldList.Format=1 RecordFieldList.Align=TRUE RecordFieldList.CommaAfter=TRUE RecordFieldList.AtLeftMargin=FALSE SplitAndOr=FALSE AndOrAfterExpression=FALSE [SpecialCase]Oracle标识符命名规则:当在 PL/SQL 中使用标识符定义变量、常量时,标识符名称必须以字符开始,并且长度不能超过 30 个字符。另外,为了提高程序的可读性,Oracle 建议用户按照以下规则定义各种标识符: --当定义变量时,建议使用 v_ 作为前缀,例如 v_sal, v_job等。 --当定义常量时,建议使用 c_ 作为前缀,例如 c_rate 。 --当定义游标时,建议使用 _cursor 作为后缀,例如 emp_cursor 。 --当定义例外时,建议使用 e_ 作为前缀,例如 e_integrity_error。 --当定义 PL/SQL 表类型时,建议使用 _table_type 作为后缀,例如 sal_table_type。 --当定义 PL/SQL 表变量时,建议使用 _table 作为后缀,例如 sal_table。 --当定义 PL/SQL 记录类型时,建议使用 _record_type 作为后缀,例如 emp_record_type。 --当定义 PL/SQL 记录变量时,建议使用 _record 作为后缀,例如 emp_record。使用方法

新建一个文本文档叫 XXX.br即可 将以上代码复制进去

在PLSQL相应界面导入即可

原文链接: https://www.yukx.com/oracleplsql/article/details/1968.html 优科学习网PLSQL格式化\美化Sql设置



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3