我的自定义函数头
函数在在查询分析器里都编译通了,就是执行
select * from is_constrain_exist('10,175')
的时候报错
----------------------------------------
服务器: 消息 208,级别 16,状态 3,行 1
对象名 'is_constrain_exist' 无效。
----------------------------------------------------
create function is_constrain_exist(@food_dot varchar(32))
RETURNS varchar(16)
as
。。。
这个网上找来的split方法 也是自定义函数 粘进去一编译都直接就好用,为什么我自己写的都不行呢?
create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
--实现split功能 的函数
--date :2005-4-20
--Author :Domino
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>'\'
insert @temp values(@SourceSql)
return
end
12 个解决方案
#1
在网上找来这个 也解决不了?难道是我没看懂?~~ 求大家帮助!急死了都
自定义存储过程调自定义函数提示"不是可以识别的函数名"问题2007-07-26 16:44 今天在做项目的时候,需要在一个自己写的sql server存储过程中调用自己写的函数,创建这个存储过程时报错,提示"不是可以识别的函数名",经过研究,调试,发现要想调用自定义的函数,必须该函数所属的用户名,如dbo,写成dbo.你的自定义函数名,这样就可以了。
自定义存储过程调自定义函数提示"不是可以识别的函数名"问题2007-07-26 16:44 今天在做项目的时候,需要在一个自己写的sql server存储过程中调用自己写的函数,创建这个存储过程时报错,提示"不是可以识别的函数名",经过研究,调试,发现要想调用自定义的函数,必须该函数所属的用户名,如dbo,写成dbo.你的自定义函数名,这样就可以了。
#2
select dbo.is_constrain_exist('10,175')
#3
很明显,报的是函数名不合法,换个简单的试试
#4
还是不行
服务器: 消息 208,级别 16,状态 1,行 1
对象名 'dbo.is_constrain_exist' 无效。
#5
不是不合法,是调用不对
create function is_constrain_exist(@food_dot varchar(32))
RETURNS varchar(16)
as
begin
return 'asdf'
end
go
select dbo.is_constrain_exist('asdf')
/*
----------------
asdf
(所影响的行数为 1 行)
*/
select * from dbo.is_constrain_exist('asdf')
/*
服务器: 消息 208,级别 16,状态 3,行 11
对象名 'dbo.is_constrain_exist' 无效。
*/
drop function is_constrain_exist
#6
首先你的函数创建成功了吗?
#7
happyflystone 你好!
我的SQLSERVER服务是在虚拟主机上的 似乎没有dbo权限
create function is_constrain_exist(@food_dot varchar(32))
RETURNS varchar(16)
is_constrain_exist函数建立之后 在查询分析器左侧的树菜单里
名称自动加上了我在虚拟主机上的数据库名 a434222 就是a434222.f_split
是不是和这个有关系啊? 谢谢!
我的SQLSERVER服务是在虚拟主机上的 似乎没有dbo权限
create function is_constrain_exist(@food_dot varchar(32))
RETURNS varchar(16)
is_constrain_exist函数建立之后 在查询分析器左侧的树菜单里
名称自动加上了我在虚拟主机上的数据库名 a434222 就是a434222.f_split
是不是和这个有关系啊? 谢谢!
#8
写错了个字
是a434222.is_constrain_exist
是a434222.is_constrain_exist
#9
命令已成功完成。
#10
select a434222.is_constrain_exist('10,175')
#11
前面加你的这个函数的所有者
#12
好了 好了! 哈哈 谢谢你!
不过现在死循环了好像! 至少是运行了 呵呵 散分! 我就这些分 全给了 别嫌少
#1
在网上找来这个 也解决不了?难道是我没看懂?~~ 求大家帮助!急死了都
自定义存储过程调自定义函数提示"不是可以识别的函数名"问题2007-07-26 16:44 今天在做项目的时候,需要在一个自己写的sql server存储过程中调用自己写的函数,创建这个存储过程时报错,提示"不是可以识别的函数名",经过研究,调试,发现要想调用自定义的函数,必须该函数所属的用户名,如dbo,写成dbo.你的自定义函数名,这样就可以了。
自定义存储过程调自定义函数提示"不是可以识别的函数名"问题2007-07-26 16:44 今天在做项目的时候,需要在一个自己写的sql server存储过程中调用自己写的函数,创建这个存储过程时报错,提示"不是可以识别的函数名",经过研究,调试,发现要想调用自定义的函数,必须该函数所属的用户名,如dbo,写成dbo.你的自定义函数名,这样就可以了。
#2
select dbo.is_constrain_exist('10,175')
#3
很明显,报的是函数名不合法,换个简单的试试
#4
还是不行
服务器: 消息 208,级别 16,状态 1,行 1
对象名 'dbo.is_constrain_exist' 无效。
#5
不是不合法,是调用不对
create function is_constrain_exist(@food_dot varchar(32))
RETURNS varchar(16)
as
begin
return 'asdf'
end
go
select dbo.is_constrain_exist('asdf')
/*
----------------
asdf
(所影响的行数为 1 行)
*/
select * from dbo.is_constrain_exist('asdf')
/*
服务器: 消息 208,级别 16,状态 3,行 11
对象名 'dbo.is_constrain_exist' 无效。
*/
drop function is_constrain_exist
#6
首先你的函数创建成功了吗?
#7
happyflystone 你好!
我的SQLSERVER服务是在虚拟主机上的 似乎没有dbo权限
create function is_constrain_exist(@food_dot varchar(32))
RETURNS varchar(16)
is_constrain_exist函数建立之后 在查询分析器左侧的树菜单里
名称自动加上了我在虚拟主机上的数据库名 a434222 就是a434222.f_split
是不是和这个有关系啊? 谢谢!
我的SQLSERVER服务是在虚拟主机上的 似乎没有dbo权限
create function is_constrain_exist(@food_dot varchar(32))
RETURNS varchar(16)
is_constrain_exist函数建立之后 在查询分析器左侧的树菜单里
名称自动加上了我在虚拟主机上的数据库名 a434222 就是a434222.f_split
是不是和这个有关系啊? 谢谢!
#8
写错了个字
是a434222.is_constrain_exist
是a434222.is_constrain_exist
#9
命令已成功完成。
#10
select a434222.is_constrain_exist('10,175')
#11
前面加你的这个函数的所有者
#12
好了 好了! 哈哈 谢谢你!
不过现在死循环了好像! 至少是运行了 呵呵 散分! 我就这些分 全给了 别嫌少