相关疑难解决方法(0)

存储过程和ORM

与使用ORM(nHibernate,EF等)处理某些CRUD操作相比,存储过程的目的是什么?要调用存储过程,我们只是传递一些参数,并使用ORM发送整个SQL查询,但这只是性能和安全性的问题还是有更多优势?

我问这个是因为我从未使用过存储过程(我只是用ORM编写所有SQL语句并执行它们),并且客户告诉我在下一个项目中我将不得不使用存储过程,我我试图找出何时使用它们.

stored-procedures

23
推荐指数
4
解决办法
2万
查看次数

更新时出现Sql错误:UPDATE语句与FOREIGN KEY约束冲突

我有一个名为table的表patient_address,它在patient表中引用了一个PK键.但是,如果我尝试运行以下语句之一:

update patient set id_no='7008255601088' where id_no='8008255601088'
update patient_address set id_no='7008255601088' where id_no='8008255601088'
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

"UPDATE语句与REFERENCE约束冲突"FK__patient_a__id_no__27C3E46E".冲突发生在数据库"PMS",表"dbo.patient_address",列'id_no'." 或"UPDATE语句与FOREIGN KEY约束冲突"FK__patient_a__id_no__27C3E46E".冲突发生在数据库"PMS",表"dbo.patient",列'id_no'." .

有没有人知道可能的原因?谢谢.

sql-server

22
推荐指数
3
解决办法
7万
查看次数

如何创建多个一对一的

我有一个设置了许多表的数据库,除了一点之外它看起来都很好......

Inventory Table <*-----1> Storage Table <1-----1> Van Table
                              ^
                              1
                              |-------1> Warehouse Table
Run Code Online (Sandbox Code Playgroud)

由于Van和Warehouse表相似,因此使用了Storage表,但如何在Storage和Warehouse/Van表之间创建关系?因为存储对象只能是1个存储位置和类型,所以它们需要为1比1.我确实有Van/Warehouse表链接到StorageId主键,然后添加一个约束,以确保Van和Warehouse表没有相同的StorageId,但这似乎可以做得更好.

我可以看到这样做的几种方法,但它们都显得不对,所以任何帮助都会很好!

sql database sql-server database-design relational-database

7
推荐指数
1
解决办法
4637
查看次数

延迟约束检查

目前在我们的数据库设计中,我们有两个实体之间的循环引用.换句话说,我们在每个表中都有外键引用彼此的主键.为了在这些表中插入记录,我们需要执行延迟约束检查.这可能在SQL Server 2008中吗?我知道Oracle DDL有这个特殊的语法.

sql-server constraints

6
推荐指数
1
解决办法
2833
查看次数