SQL中一个不明的错误
2004-12-09 22:05
357 查看
ERROR>>未能找到 ID 为 104 的数据库。可能该数据库尚未激活,也可能正在转换过程中。
这个错误我是认为比较诡异了。请高手解释一下
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fn]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fn]
GO
CREATE FUNCTION fn
(
@type varchar(32)
)
RETURNS varchar(32)
AS
Begin
declare @Status_for varchar(32)
set @Status_for=case @type
when 'd' then 'd'
when 'c' then 'c'
else 'UnKnow'
end
return @Status_for
End
GO
create table #t
(
col1 varchar(32),
col2 varchar(32),
col3 int
)
insert into #t(col1, col2, col3) values('#t1', 'd', 1)
insert into #t(col1, col2, col3) values('#t2', 'd', 2)
insert into #t(col1, col2, col3) values('#t3', 'c', 1)
insert into #t(col1, col2, col3) values('#t4', 'c', 2)
create table #b
(
b1 int,
b2 varchar(32),
b3 varchar(32)
)
insert into #b(b1, b2, b3) values(1, 'd', 'd1')
insert into #b(b1, b2, b3) values(2, 'd', 'd2')
insert into #b(b1, b2, b3) values(1, 'c', 'c1')
insert into #b(b1, b2, b3) values(2, 'c', 'c2')
--下面的查询没有问题
select *
from #t a
left join #b b on b.b1 = a.col3 and b.b2 = dbo.fn(a.col2)
--这个子查询,错误就比较诡异了
select * from
(
select *
from #t a
left join #b b on b.b1 = a.col3 and b.b2 = dbo.fn(a.col2)
) a
--clear the garbage
drop table #t
drop table #b
drop function dbo.fn
这个错误我是认为比较诡异了。请高手解释一下
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fn]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fn]
GO
CREATE FUNCTION fn
(
@type varchar(32)
)
RETURNS varchar(32)
AS
Begin
declare @Status_for varchar(32)
set @Status_for=case @type
when 'd' then 'd'
when 'c' then 'c'
else 'UnKnow'
end
return @Status_for
End
GO
create table #t
(
col1 varchar(32),
col2 varchar(32),
col3 int
)
insert into #t(col1, col2, col3) values('#t1', 'd', 1)
insert into #t(col1, col2, col3) values('#t2', 'd', 2)
insert into #t(col1, col2, col3) values('#t3', 'c', 1)
insert into #t(col1, col2, col3) values('#t4', 'c', 2)
create table #b
(
b1 int,
b2 varchar(32),
b3 varchar(32)
)
insert into #b(b1, b2, b3) values(1, 'd', 'd1')
insert into #b(b1, b2, b3) values(2, 'd', 'd2')
insert into #b(b1, b2, b3) values(1, 'c', 'c1')
insert into #b(b1, b2, b3) values(2, 'c', 'c2')
--下面的查询没有问题
select *
from #t a
left join #b b on b.b1 = a.col3 and b.b2 = dbo.fn(a.col2)
--这个子查询,错误就比较诡异了
select * from
(
select *
from #t a
left join #b b on b.b1 = a.col3 and b.b2 = dbo.fn(a.col2)
) a
--clear the garbage
drop table #t
drop table #b
drop function dbo.fn
相关文章推荐
- 关于canal slave 解析sql错误的一个探究
- 许留山导入到SQL “文本被截断,或者一个或多个字符在目标代码页中没有匹配项”错误的解决
- 一个sql的易忽视错误:
- 向SQL2005导入Excel数据出现“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”的错误0xc020901c
- SQL错误:无法删除对象 '****',因为该对象正由一个 FOREIGN KEY 约束引用。
- 一个sql 错误 :数字溢出
- 之前在开发中存在的一个关于Linq To SQL的错误认识。
- sqlite数据库,进行批量执行.sql文件的时候,会出现一个:not an error的错误提示
- SQL错误排查:子查询返回的值不止一个。子查询用作表达式时,这种情况是不允许的...
- update 的SQL语句执行遇到的一个错误
- System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- 一个引号引起的血案,ORACLE SQL 分页语句的错误
- 用PL/SQL打开一个表的数据时出现的错误
- System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) .
- 在一个巨大的SQL文件里找到错误的SQL
- 记录一个原因不明的段错误(libxml2 proc activemq的三角恋)
- 在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误
- php 经常犯的错误是把一个SQL 操作放置到一个循环中
- 一个关于“OLE DB 提供程序 'sqloledb' 指出该对象中没有任何列”错误的解决方法
- PetShop4,错误提示:System.Web.Security.SqlMembershipProvider”要求一个与架构版本“1”兼容的数据