问题标签 [ddl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 如何在 SQL Server 2008 中创建宽表?它的使用限制是什么?
我正在阅读SQL Server 的最大容量规范,并且遇到了宽表的指定。它与标准表的不同之处在于它可以有多达 30,000 列,而普通(窄)表仅限于更熟悉的 1024 列。我用谷歌搜索了宽表,但似乎没有什么相关的。这个新表类型有更正式的名称吗???
那么为什么我们有两种不同类型的表,你如何创建这个特殊的表以及使用这个看似可以容纳更多数据的表有什么限制?有人知道吗?
sql-server - 更改表中的列顺序时出现问题 (SQL Server 2008)
当我尝试更改此列列表时:
进入这个(IdLineaProducto 是第一个)
SQL Server Management Studio 表示不允许保存更改,因为必须删除并重新创建表(西班牙语......)。我可以在 SQL Server 2005 中执行此操作,但不能在 SQL Server 2008 中执行此操作。
在其他情况下也会发生同样的情况,例如尝试将 int 非标识列转换为标识。为什么会这样?我该如何解决这个问题?也许是一些配置错误的问题?SQL Server 中的一些新功能?
sql-server - SQL Server 2000/2005 - 维护开发版和生产版
我习惯于通过创建数据库对象定义来使用 Oracle Designer,然后通过连接到数据库实例来创建所需的 DDL SQL。
例如,在向表添加新列时,首先将其添加到表定义中,然后针对开发版本生成 DDL SQL 并运行它,然后在测试后指向生产实例以在生产中创建缺少的列.
鉴于 SQL Server 中没有设计器,将列添加到两个数据库实例的正确过程是什么?是否有保持模式同步的工具?
sql - SQL Server:将列提取到表中
我有一个表,其中有一列我想提取出来并放入一个单独的表中。
例如,假设我有一个名为 Contacts 的表。Contacts 有一个名为 Name 的列,其中存储了一个字符串。现在我想将名称提取到另一个名为 Name 的表中,并将 Contact.Name 列链接到 Name 表的 Id。
我只能使用 SQL 来执行此操作。关于解决此问题的最佳方法的任何想法?
如果我能澄清任何事情,请告诉我,谢谢!
[编辑] 一个问题是不同的联系人可以绑定到同一个名字。因此,当不同的联系人具有相同的名称并且它被导出时,名称表将只有该名称的一个唯一行,并且所有联系人都将指向该行。我想如果我实际上是在编写通讯录,这将没有意义,但我只是用它来说明我的问题。
oracle - nHibernate SchemaUpdate 失败
我正在尝试针对 Oracle 11g 数据库使用 nHibernate 中的模式更新功能,它抛出以下异常:“提供的限制比请求的模式('表')支持的更多。”
它似乎是 ado.net 异常,但我找不到太多信息。对这个例外的任何见解都会很棒。如果有帮助,我将使用 System.Data.OracleClient 程序集与 Oracle 对话。
sql - Microsoft Access DateTime 默认现在通过 SQL
我正在编写许多脚本来更新许多 Access 表。我想为每个列添加一个名为“date_created”的字段,该字段是创建记录时的时间戳。通过表格视图执行此操作很简单,只需设置 DefaultValue = now()。但是,我将如何在 sql 中完成此操作?
这是我目前对已有该列的表的尝试。此示例使用“tblLogs”。
谢谢你的帮助!
更新 - 有没有办法在 VBA 中做到这一点?
更新 2 - 在 onedaywhen 之前测试了所有答案和以下答案是最短和最准确的
mysql - 如果它不存在,则将列添加到 mysql 表
我的研究和实验还没有得出答案,所以我希望能得到一些帮助。
我正在修改以前版本中没有我现在要添加的列的应用程序的安装文件。我不想手动添加该列,而是在安装文件中并且仅当表中不存在新列时。
创建表如下:
如果我在 create table 语句下方添加以下内容,那么我不确定如果该列已经存在(并且可能已填充)会发生什么:
所以,我尝试了我在某处找到的以下内容。这似乎不起作用,但我不完全确定我是否正确使用了它。
有没有人有这样做的好方法?
sql-server - 执行 CREATE TABLE 或 ALTER TABLE 操作时,sql server 存储什么样的审计信息?
这个问题的灵感来自于我的一个存储过程,因为它调用了另一个存储过程,该过程将数据插入到一个架构被完全改变的表中。
问题是您在 SQL Server 数据库中有一个表,但您不知道它是如何到达那里的。您没有任何用于自定义审计信息的 DDL 触发器,并且在表 DDL 的源代码控制存储库中没有记录。仅使用 SQL Server,您可以获得有关该表的哪些取证数据。
我自己,以及在类似情况下偶然发现这个问题的人,都不会从有关版本控制和 DDL 触发器的建议中得到帮助。这些都是很好的前进解决方案,如果公司政治允许我们实施这些解决方案,那么这个博客上有很多关于这些主题的信息。我和处于我这种情况的人真正需要的是能够从 SQL Server 收集尽可能多的数据片段,以与我们能想到的任何其他数据相结合。
oracle - 如何使用创建或替换?
我是否正确理解 CREATE OR REPLACE 基本上意味着“如果对象存在,则删除它,然后以任何一种方式创建它?”
如果是这样,我做错了什么?这有效:
这不会(ORA-00922:缺少或无效选项):
我在做傻事吗?我似乎无法找到有关此语法的太多文档。
sql - 是否可以在事务中(在 SQL Server 中)运行多个 DDL 语句?
我想知道是否可以在事务中运行多个 DDL 语句。我对 SQL Server 特别感兴趣,尽管其他数据库(至少是 Oracle、PostgreSQL)的答案也可能很有趣。
我一直在为事务中创建的表做一些“CREATE TABLE”和“CREATE VIEW”,似乎有些不一致,我想知道 DDL 是否不应该在事务中完成......
我可能会将 DDL 移到事务之外,但我想为此获得一些参考。到目前为止我发现了什么:
- 数据库引擎中的MSDN 页面隔离级别清楚地表明,在快照隔离下运行的显式事务中可以执行哪些 DDL 操作存在限制- 但我没有使用快照隔离,这应该会导致错误。
- 这可以解释为可以在不同隔离级别下的显式事务中执行 DDL 操作吗?
- Oracle® Database Gateway for SQL Server 用户指南#DDL 语句指出在给定事务中只能执行一个 DDL 语句- 这对于直接使用的 SQL Server 是否也有效?
对于甲骨文:
- 在 SO 问题单元测试需要在事务中的 DDL 语句中,据说 Oracle 确实为 DDL 语句隐式提交?(即使没有参考)
如果这很重要,我将通过 JTDS JDBC 驱动程序使用 Java 执行此操作。
br Touko