【问题标题】:Oracle to SQL Server Migration issue - On delete cascadeOracle 到 SQL Server 迁移问题 - 关于删除级联
【发布时间】:2015-08-22 16:19:06
【问题描述】:

伙计们,

我正在处理从 Oracle 到 MS SQL Server 的迁移。我遇到的一个问题是“ON DELETE CASCADE”在 Oracle 中运行良好,但在 SQL Server 中却不行。 语法/命令是否有任何替代方法,或者我们需要手动删除/修复它。

无法在网络上获得有效的链接/参考,因此在此处请求。 如果已经回答,请帮助重定向到相应的页面。

【问题讨论】:

  • 我不是 SQL Server 专家,但我很确定 SQL Server 中没有“不起作用”这样的错误消息。向我们展示您的代码和您收到的确切错误消息。
  • 我觉得this的回答会对你有所帮助。

标签: sql-server oracle database-migration


【解决方案1】:

据我所知,SQL Server 也支持ON DELETE CASCADE。以下是语法:

  • 创建表
创建表 child_table ( column1 数据类型 [ NULL |非空], column2 数据类型 [ NULL |非空], ... 约束 fk_name 外键 (child_col1, child_col2, ... child_col_n) 参考 parent_table (parent_col1, parent_col2, ... parent_col_n) 删除级联 );
  • 更改表
ALTER TABLE child_table 添加约束 fk_name 外键 (child_col1, child_col2, ... child_col_n) 参考 parent_table (parent_col1, parent_col2, ... parent_col_n) 删除级联;

查看示例here

【讨论】:

  • 我现在明白了.. 谢谢。但是又出现了一个问题。我需要使用对同一个表但不同列的循环引用。是否可以在 sql server 中或将相应的逻辑移动到应用程序代码中?
  • @RoopeshMajeti 请为此提出一个新问题,下次请发布一些示例数据和您尝试过的内容。请将其标记为已回答,对他人有帮助。
猜你喜欢
  • 1970-01-01
  • 2011-12-18
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 2018-11-26
  • 2010-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多