PLSQL格式化\美化Sql设置
设置方法:
打开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设置
-
在IntelliJIDEA中,要根据数据库表直接生成对应的DataObject(DO)类,可以利用其内置的 DatabaseTools 功能,特别是其中的 JPABuddy插件 或者 ReverseEngineering(逆向工程) 功能。这里提供两种方法供您参考:方法一:使用JPABuddy插件J
-
说到分支管理模型,令人最为熟悉的莫过于TrunkBased和GitFlow。TrunkBased模型是持续集成思想所崇尚的工作方式,它由单个master分支和许多release分支组成,每个release分支在特定版本的提交点上从master分支创建出来,用来进行上线部署和Hotfix。在Trunk
-
在IntelliJIDEA(简称IDEA)中,如果你想避免导入星号(*)的方式引入包中的所有类,可以在设置中调整IDE的行为,使其遵循更严格的代码风格规范。虽然Java允许使用import*形式的静态导入(例如importstaticjava.util.Arrays.*;),但通常建议尽量明确导入所
-
随着软件开发项目越来越庞大,代码管理的难度也越来越大,特别是在团队协作中。Git作为目前最流行的代码版本控制工具之一,可以帮助我们高效地管理代码版本,并且很容易集成到团队的工作流中。在Git中,我们经常会遇到需要将新增的文件夹排除在Git的库之外的情况。这些文件夹可能是临时生成的文件夹、缓存文件夹或
-
1.迁移已有的Gitlab代码仓库存储目录gitlab通过rpm包安装后,默认存储位置在/var/opt/gitlab/git-data/repositories,通常需要更改此路径到单独的一个分区来存储仓库的数据。例如,我这里把数据存放到/data/gitlab目录下,创建/data/gitlab
-
编辑辑/etc/gitlab/gitlab.rb修改如下:external_url "http://gitlab.example.com"例如本人设置的如下:external_url 'http://gitlab.yukx.com'设置完成之后:重置配置sudo gitlab-ctl reconfi