表A有一个名为Computed1的计算字段.它是持久的而不是空的.此外,它总是计算一个char(50)的表达式.它也是独一无二的,并且有一个独特的键约束.
表B有一个字段RefersToComputed1,它应该引用一个有效的Computed1值.
尝试在引用A’Computed1的B的RefersToComputed1上创建外键约束会导致以下错误:
Error sql01268: .Net sqlClient Data Provider: Msg 1753,Level 16,State 0,Line 1 Column 'B.RefersToComputed1' is not the same length or scale as referencing column 'A.Computed1' in foreign key 'FK_B_A'. Columns participating in a foreign key relationship must be defined with the same length and scale.
问:为什么会出现此错误?计算列的外键是否需要特殊措施,如果是,它们是什么?
摘要:
>特定问题从计算的,基于字符的字段变为varchar.因此,Computed1是varchar(50)而不是char(50).
>最好围绕计算字段的表达式进行强制转换,以强制它转换为特定类型.感谢Cade Roux的这个提示.
解决方法
原文地址:https://www.jb51.cc/mssql/78426.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。