为什么 Oracle 表/列/索引名称限制为 30 个字符?

2024-01-06

我可以理解,很多年前会有这种限制,但现在这个限制肯定可以很容易地增加。我们有对象的命名约定,但总会出现达到此限制的情况 - 特别是在命名外键时。

有谁真正知道为什么这不是更大的尺寸 - 或者是 11 克更大?


显然,答案是它将破坏当前未进行防御性编码的脚本。我说这是一件非常令人担忧的事情,Oracle正在努力做到这一点the数据库,当然这是你必须不断改进的东西,否则你的产品就会死于千刀万剐。

每当我在内部看到这种反对意见时,我就觉得是时候硬着头皮去解决了。如果人们在升级 Oracle 版本时运行的脚本没有检查或维护,那么就让他们承受这种选择的后果。为它们提供一个兼容性标志,将大小增加到 4000,然后在创建对象时节省我必须不断数到 30 来检查名称是否“正常”所浪费的时间。


我相信这是 ANSI 标准。

EDIT:

实际上,我认为这是 SQL-92 标准。

该标准的更高版本似乎可以选择允许 128 个字符的名称,但 Oracle 尚不支持这一点(或部分支持,只要它允许 30 个字符。嗯。)

在此页面上搜索“F391,长标识符”...http://stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/ap_standard_sql001.htm http://stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/ap_standard_sql001.htm

(寻找参考)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Oracle 表/列/索引名称限制为 30 个字符? 的相关文章

  • 托管 ODP.NET 驱动程序未显示在“数据源”对话框中

    在我的计算机上安装托管 ODP NET 后 ODP NET 托管驱动程序没有出现在里面选择数据源Visual Studio 2013 Professional 中的对话框 它应该是这样的 这就是它在我的机器上的实际外观 我已按照 轻松驱动
  • 检查行中是否有单调递增的值

    我正在寻找一种方法来检查表中的值是否针对特定的行子集单调递增 该表包含列 id name meas date 和 value 对于具有相同名称的所有行 应按 meas date 对行进行排序 并且需要检查这些排序行的值列是否单调递增 因此
  • 带触发器的物化视图?

    我可以在物化视图上创建触发器吗 我用的是甲骨文10g 是的你可以 请小心 这是什么Oracle 文档 http download oracle com docs cd B19306 01 server 102 b14200 statemen
  • 如何使用 SQLPLUS 假脱机到 CSV 格式的文件?

    我想将一些查询提取为 CSV 输出格式 不幸的是 我无法使用任何奇特的 SQL 客户端或任何语言来做到这一点 我必须使用SQLPLUS 我该怎么做 您还可以使用以下内容 尽管它确实在字段之间引入了空格 set colsep separate
  • Oracle SQL 从零件创建日期

    我在数据库中有两个日期字段 名为 EFFECTIVE DATE 和 POINT DATE 如何创建新的日期字段 其中日期由 EFFECTIVE DATE 年份 POINT DATE 月份和 POINT DATE 日期组成 我通常会使用 Da
  • 物化视图中完全刷新和快速刷新有什么区别?

    我在自己的模式中有物化视图 物化视图源是另一个模式表 但是 这个主表有 900 行 我在这个主表上做了一些 dml 操作 之后我将刷新这个物化视图 正如你所知 我做了一些研究 我如何刷新我自己的物化视图 它说 你可以进行完全刷新或快速刷新
  • ORACLe PROCEDURE - AUTHID 仅允许在模式级别

    在尝试通过过程创建表时 我遇到了类似的错误 错误 73 9 PLS 00157 仅在架构级程序上允许 AUTHID PROCEDURE BCKUP AUTHID CURRENT USER AS statusmsg VARCHAR2 400
  • 在 MVC3 应用程序中使用具有表单身份验证的 Oracle 数据库

    我编写了一个简单的 MVC3 应用程序 并遵循了有关如何设置经过身份验证的用户的教程 本教程使用 SQL Server Express 数据库 是否可以使用 Oracle 数据库代替 SQL Server 这只是更改 web config
  • 如何找到 Oracle 视图的基础列和表名称?

    这听起来应该很简单 但事实并非如此 我找不到任何 Oracle 元数据 视图可以提供 Oracle 视图列的基础列和表名称 我发现这样做的唯一方法是解析视图源 SQL 这与精确的科学相去甚远 为了解释我想要什么 请考虑我在 SCOTT 模式
  • 如何查看授予其他用户的架构哪些权限

    考虑这种情况 在数据库中 我有两个用户 A 和 B 及其相应的架构 我想知道 如何获取信息 架构 B 中的用户 A 有哪些权限 考虑这种情况 我们有两个用户及其关联的场景 我们有用户A和用户B 在A中 假设我们有TB1 TB2 在B中 假设
  • 如何在没有可用行选择器的情况下为 APEX 21.1 REST 数据源设置数据配置文件

    我正在使用 APEX 21 1 并为 Web 服务创建了一个 REST 数据源 该服务以以下格式返回响应 1499040000000 A time stamp 0 01634790 A value etc 1499040000100 A t
  • Oracle SQL 触发器上的变异表

    我正在尝试执行触发器 但出现变异表错误 SQL 代码是这样的 CREATE OR REPLACE TRIGGER CHK Apartado D BEFORE INSERT OR UPDATE ON CONTRACTS FOR EACH RO
  • Oracle 11g OFFSET FETCH 给出错误

    我正在进行查询并尝试从数据库中获取随机数量的行 但 Oracle 一直告诉我我的命令尚未正确结束 select from random table order by random column name offset 0 rows fetc
  • ActiveRecord oracle_enhanced 适配器无法加载 ruby​​-oci8 库

    rails g scaffold失败 但 oci 脚本和 irb 数据查询有效 无法弄清楚出了什么问题 rails g scaffold table field1 integer field2 string invoke active re
  • 在 jdbc 程序中使用时,通过 SQL 客户端插入表中的记录未显示

    我使用 SQL 客户端和 JDBC 程序将几行插入到我的表 EMP 中 使用 SQL 客户端插入的记录不会显示在 Java 的输出控制台中 我正在使用 Java 8 和 oracle 11g 数据库来插入和读取数据库 除了通过 SQL 客户
  • 使用 to_char 格式化间隔

    以下 SQL 命令 select TO CHAR NVL arg1 arg2 TO DSINTERVAL 0 00 00 00 from table1 生成格式为 000000000 00 03 01 954000 的结果 是否可以在 to
  • 授予用户在查询时使用表索引的什么?

    我想知道当用户从表中查询数据并且该用户已被授予以下权限时 oracle 是否使用索引 grant select on table to user 我想知道是否需要其他拨款才能使用索引 不 没有要求 或能力 授予对索引的访问权限 如果用户可以
  • Oracle 9i:同义词表不存在?

    我创建了一个包 其中包含一个存储过程 我计划从单独的应用程序调用该存储过程 存储过程将返回架构中所有视图和表的排序列表 为此 它对 DBA TABLES 和 DBA VIEWS 同义词执行简单的选择 如下所示 CREATE OR REPLA
  • T-SQL:如何使用 SELECT 创建表?

    在 oracle 中 您可以发出 create table foo as select from bar 等效的 T SQL 语句是什么 您可以使用SELECT INTO http msdn microsoft com en us libr
  • APEX 安装失败,PLS-00201:必须声明标识符“SYS.DBMS_DB_VERSION”

    尝试在 Oracle XE 18c 数据库上安装 Oracle APEX 20 2 如下官方说明 https docs oracle com en database oracle application express 20 1 htmig

随机推荐

  • 我正在使用 django table 2 并尝试按照官方文档导出我的表

    我已遵循 django table 2 的官方文档 但它不起作用 我不知道为什么 views py from django shortcuts import render from django tables2 import Request
  • scala 中缩进保留字符串插值

    我想知道在 scala 中进行字符串插值时是否有任何方法可以保留缩进 本质上 我想知道是否可以插入我自己的 StringContext 宏可以解决这个问题 但我想等到它们正式发布 这就是我要的 val x line1 nline2 val
  • 如何从数组中获取多个随机元素?

    我正在研究 如何从 JavaScript 数组中随机访问元素 我发现了很多与此相关的链接 喜欢 从 JavaScript 数组中获取随机项 https stackoverflow com questions 5915096 get rand
  • laravel 使用 google 帐户登录

    我正在制作一个应用程序 我希望用户使用他们的谷歌帐户登录 我有用户 oauth 4 laravel 并且我有这个 用户控制器 php get data from input code Input get code get google se
  • Android 代码截图。明白了,但还不完美

    我正在尝试在 Android 中的代码中截取屏幕截图 实际上 屏幕截图是主RelativeLayout 的位图 屏幕截图已拍摄 但内容显示错误 不遵守 fill parent 等标签 并且图像显示在左上角并具有原始大小 请任何人帮忙 Tha
  • Firefox 在提交按钮中添加 2px 内边距

    您好 我似乎在 Firefox 在提交按钮中添加 2 个额外像素的填充时遇到了一些问题 我已经在 chrome 和 IE9 中对此进行了测试 两种浏览器都可以正常渲染代码 Firefox 似乎在底部添加了 2 个像素填充提交按钮 右上角有钥
  • realloc会对旧指针做什么[重复]

    这个问题在这里已经有答案了 我有一个关于 realloc 函数的问题 应用realloc函数后旧指针的内容会改变吗 代码是 main int a b i a calloc 5 sizeof int for i 0 i lt 5 i a i
  • Android 视图上的投影

    我已经对此进行了一些广泛的代码示例搜索 但找不到任何内容 特别是 我希望向在 ImageView 中使用的 png 可绘制对象添加阴影 这个 png 可绘制对象是一个带有透明角的圆角矩形 有人可以提供一个代码示例 说明如何在代码或 XML
  • Firestore 安全规则 .hasAny(['A', 'B', 'C']) 仍然可以使用吗?

    似乎无法使用 Firestore 安全规则 hasAny 此方法是否已弃用或不再可用 我用它就像 Functions NOT WORKING function isTeamMember teamId userId return get da
  • 从地址抖动中获取坐标

    有人可以指导我在 flutter 中获取地址的坐标吗 我需要在文本框中输入地址并获取该地址的经度和纬度 您可以复制粘贴运行下面的完整代码您可以使用包https pub dev packages geocoder https pub dev
  • 用于命名空间限定的 C++ 预处理器标记粘贴

    我在 gcc 4 7 1 std c 11 中的预处理器标记粘贴运算符上遇到问题 即 考虑以下代码 Create a name for a global map this works define GLOBAL MAP name g map
  • 将 ZipOutputStream 返回到浏览器

    我有一个 ZipOutputStream 我想将其返回到浏览器 我想要的体验是用户单击锚标记 然后为我拥有的 ZipOutputStream 显示文件下载提示 如何将 ZipOutputStream 返回到浏览器 昨天必须做同样的事情 By
  • 为什么 Oracle 表/列/索引名称限制为 30 个字符?

    我可以理解 很多年前会有这种限制 但现在这个限制肯定可以很容易地增加 我们有对象的命名约定 但总会出现达到此限制的情况 特别是在命名外键时 有谁真正知道为什么这不是更大的尺寸 或者是 11 克更大 显然 答案是它将破坏当前未进行防御性编码的
  • JavaScript - 二分搜索每次都会挂起

    我有一个二维数组 如下所示 1 11 23 2 22 52 3 33 61 其中数组按每行中的第一个值排序 我试图在数组中找到一个值close到搜索值 在一定的灵敏度内 这种设置的方式以及灵敏度的值确保数组中只有一个可能的匹配 搜索值是鼠标
  • 将拟合摘要写入 pdf 文件或类似文件中

    我正在循环中对许多数据集进行线性拟合 并将结果绘制在 pdf 文件中 是否可以直接将summary fit 的输出保存在同一个pdf文件中 而不是通过控制台观察大约100个数据集的摘要 LMmodel lt y x fit lt lm LM
  • 我什么时候应该使用前进和移动?

    我有一个对向量进行操作的代码 template
  • PHP:将任何浮点数格式化为十进制扩展

    我想创建一个函数formatFloat 它接受任何浮点并将其格式化为十进制扩展字符串 例如 formatFloat 1 0E 25 10 000 000 000 000 000 000 000 000 formatFloat 1 0E 24
  • 如何将两个 long 相除并得到值?

    我需要计算整数和长整数的概率 但我总是得到0 整数a 234 长b 123453344L 浮动 c a b 如何在 Java 中得到正确的结果 您需要将其中一个投射为float 或将其中一个变量声明为float从头开始 否则 Java 的整
  • 何时适合在 Web 项目中使用 UUID?

    我正忙于一个新项目的数据库设计 我不确定是否使用UUID或普通的表唯一自增id 到目前为止 我建立的网站都在一台服务器上运行 非常大的流量从来都不是太令人担忧的问题 然而 这个 Web 应用程序最终将在多个服务器上同时运行 提供 API 并
  • 自定义控件中的膨胀布局 - 如何?

    我有关于如何在这里创建自定义控件的想法 Android 界面 需要有关使用哪些小部件的建议 https stackoverflow com questions 5891153 android interface need suggestio