当前位置: 代码迷 >> Sql Server >> 没法将 视图'dbo.BP_VIEW' 绑定到架构。'dbo.Get_needChar' 尚未绑定到架构
  详细解决方案

没法将 视图'dbo.BP_VIEW' 绑定到架构。'dbo.Get_needChar' 尚未绑定到架构

热度:65   发布时间:2016-04-27 12:17:31.0
无法将 视图'dbo.BP_VIEW' 绑定到架构。'dbo.Get_needChar' 尚未绑定到架构。
想在视图中创建索引.发生下面问题,如何解决?

无法将 视图'dbo.BP_VIEW' 绑定到架构。'dbo.Get_needChar' 尚未绑定到架构。


Get_needChar是CLR函数




------解决方案--------------------
探讨
想在视图中创建索引.发生下面问题,如何解决?

无法将 视图'dbo.BP_VIEW' 绑定到架构。'dbo.Get_needChar' 尚未绑定到架构。


Get_needChar是CLR函数

------解决方案--------------------
Get_needChar 函数没有绑定到架构名里。
------解决方案--------------------
ALTER FUNCTION dbo.f_getstr(
@s NVARCHAR(4000), --待分拆的字符串
@flag NVARCHAR(10)='' --数据分隔符
)RETURNS @r TABLE(col NVARCHAR(1000))
WITH SCHEMABINDING

参考
------解决方案--------------------
SQL code
--创建索引视图create view 视图名 with schemabinding asselect 语句go---创建索引视图需要注意的几点1. 创建索引视图的时候需要指定表所属的架构--错误写法create view v_f with schemabinding asselect   a.a,a.b,b.a,b.bfrom   a join b on   a.id=b.idgo---正确写法:create view v_f with schemabinding asselect   a.a,a.b,b.a,b.bfrom   dbo.a join dbo.b on   a.id=b.idgo2.在创建索引视图的select语句时,不使用*,必须指定具体的列名--错误写法create view v_f with schemabinding asselect   *from   dbo.a join dbo.b on   a.id=b.idgo---正确写法create view v_f with schemabinding asselect   a.a,a.b,b.a,b.bfrom   dbo.a join dbo.b on   a.id=b.idgo3.在创建索引视图的select 语句中,不能存在重复的列名,这个不举例了4. 只能为索引视图创建唯一聚集索引--正确的写法create unique clustered index ix_uniquetb on v_tbgo--错误的写法 create clustered index ix_uniquetb on v_tbgo