问题标签 [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.

0 投票
6 回答
311800 浏览

sql - PostgreSQL 如果不存在则创建表

在 MySQL 脚本中,您可以编写:

... 其他的东西 ...

然后您可以多次运行脚本而无需重新创建表。

你如何在 PostgreSQL 中做到这一点?

0 投票
3 回答
715 浏览

sql - 标志列还是外键?

我有 ENTERPRISES 和 DOMAINS 表。每个企业的特性是它应该有一个主域,但它可以有多个域。我想出了这个表结构

我的同事建议采用这种替代结构:

我的问题是,哪一个更有效/正确?

另外,在第一个示例中,我应该将 ID 用于主域列还是字符串值,因此 ENTERPRISES 表对 DOMAINS 表没有循环依赖关系?

0 投票
3 回答
1394 浏览

sql-server - SQL Server:如何在没有 DMO/SMO 的情况下生成对象脚本?

我想为数据库对象生成脚本,例如

  • 意见
  • 存储过程
  • 功能

自从:

未安装在全新安装的:

  • 视窗
  • 视窗
  • Windows 7的

它们也不是可再分发的,它们不是一种选择(它将在客户的机器上运行)。

编辑:从今天开始,看起来 SMO 实际上是可再分发的。)

是否有任何源代码可以将系统表中的SELECT转换为相关脚本?


我将从编写存储过程、视图、触发器或用户定义函数的伪代码开始:

所有这些都可以在内部使用单个辅助函数:

编辑:感谢serviceharvest316指出sp_helptext。这就是为什么我有一个将这些东西抽象出来的类。

0 投票
1 回答
466 浏览

components - 如何使用 Nhibernate Validator + NHib 组件 + ddl

我刚刚配置了我的 NHibValidator。我的 NHibernate 创建了数据库模式。当我将 MaxLenght="20" 设置为类的某个属性时,然后在数据库中,长度出现在数据库列中。我在 NHibValidator xml 文件中执行此操作。但问题是我有组件并且无法弄清楚如何实现这种行为。该组件在 Customer.hbm.xml 文件中正确配置。

编辑:嗯,我发现两年前 Hibernate Validator 用户也有同样的问题。 http://opensource.atlassian.com/projects/hibernate/browse/HV-25 这是 NHibernate Validator 的问题还是已修复。如果它正在工作,请告诉我如何。

0 投票
6 回答
77237 浏览

postgresql - 在 Postgresql 上以编程方式生成 DDL

如何在 Postgresql 上以编程方式生成表的 DDL?是否有系统查询或命令来执行此操作?谷歌搜索这个问题没有返回任何指针。

0 投票
2 回答
37532 浏览

sqlite - 如何从 sqlite (3.6.21) 表中删除约束?

我有下表:

如何放弃约束?

0 投票
12 回答
149241 浏览

sql - 如何向现有 SQLite 表添加外键?

我有下表:

如何添加外键约束parent_id?假设启用了外键。

大多数示例假设您正在创建表 - 我想将约束添加到现有的表中。

0 投票
8 回答
50830 浏览

sql - 是否有为 SQL Server 生成完整数据库 DDL 的工具?Postgres 和 MySQL 呢?

使用 Toad for Oracle,我可以生成完整的 DDL 文件,描述 Oracle 模式的所有表、视图、源代码(过程、函数、包)、序列和授权。一个很棒的功能是将每个 DDL 声明分成不同的文件(每个对象的文件,无论是表、过程、视图等),因此我可以编写代码并查看数据库的结构而无需 DB 连接. 使用 DDL 文件的另一个好处是,我不必在每次需要查看表定义时都连接到数据库来生成 DDL。在 Toad for Oracle 中,执行此操作的方法是转到数据库 -> 导出并根据您要导出的内容选择适当的菜单项。它可以让您及时了解数据库。

是否有一个“批处理”工具可以导出
- 所有表 DDL(包括索引、检查/引用约束)
- 所有源代码(每个过程、函数的单独文件)
- 所有视图- 来自 SQL Server 的
所有序列?

PostgreSQL 怎么样?
那么 MySQL 呢?
安格尔呢?

对于该工具是开源的还是商业的,我没有偏好。

0 投票
4 回答
243 浏览

sql - ORACLE - 表

在 SQL ORACLE 中输入代码创建新表后,如果我要退出 SQL 会话,是否会保存更改?

0 投票
2 回答
953 浏览

sql-server - 需要哪些数据库用户权限?

仅供参考:SQL Server 2005

我有一个数据库用户帐户 (user_web),它能够连接并在我的数据库中运行查询和存储过程。具体来说,我已经为用户提供了db_datareaderanddb_datawriter角色,并授予他们对需要能够运行的特定存储过程的执行权限。

在其中一个存储过程中,我需要禁用触发器,然后在完成某些特定编辑后重新启用它。当我尝试与用户一起运行该存储过程时,出现以下错误:

TableName是我试图禁用和启用触发器的表。我的问题是我可以为我的用户帐户提供的最少权限是多少,才能使其成功运行存储过程。