21 行受影响)(4 行受影响)(4 行受影响)
insert into [dbo].[sp_tmp_report_data](fd_name,t4,t3,t2,t1) values('上报单位','授信项下单笔信贷业务','非授信项下单笔信贷业','额度授信业务','信用评级')
消息 208,级别 16,状态 1,第 1 行
对象名 'dbo.sp_tmp_report_data' 无效。
执行 上面那些insert语句是出错,单独复制出来能够执行。救命啊。生成insert代码部份:
-- 如表已经存在则删除
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_tmp_report_data]') AND type in (N'U'))
begin
SET @DELETE_TMP_TABLE='DROP TABLE [dbo].[sp_tmp_report_data]'
EXEC(@DELETE_TMP_TABLE)
end
declare @masterfields_count int,@master_tb nvarchar(1000),@master_tb_str nvarchar(1000),@master_insert_sql nvarchar(1000),@master_insert_sql_str nvarchar(1000)
set @master_tb_str=''
set @master_insert_sql_str=''
select @master_tb='CREATE TABLE [dbo].[sp_tmp_report_data]([id] [int] IDENTITY(1,1) NOT NULL,[fd_name] [nchar](30) NULL'
select @master_insert_sql='insert into [dbo].[sp_tmp_report_data](fd_name'
select @masterfields_count=count(*) from tmp_rp_hltb_tbidx1 while @masterfields_count>0
begin
select @master_tb_str=@master_tb_str +',[t'+replace(str(@masterfields_count),' ','')+'] [nchar](30) NULL'
select @master_insert_sql_str = @master_insert_sql_str + ',t'+replace(str(@masterfields_count),' ','')
select @masterfields_count=@masterfields_count-1
end
select @master_tb=rtrim(@master_tb) + rtrim(@master_tb_str) + ') ON [PRIMARY]'
select @master_insert_sql=@master_insert_sql + rtrim(@master_insert_sql_str) + ')'declare @tistr varchar(20),@ti_insert_sql varchar(1000)
set @ti_insert_sql=''''+rtrim(@sl_fd_name)+''''
declare createtitle cursor for select fd_name from tmp_rp_hltb_tbidx1
open createtitle
fetch next from createtitle into @tistr
while ( @@FETCH_STATUS = 0 )
begin
select @ti_insert_sql = @ti_insert_sql +',''' + rtrim(@tistr) +''''
fetch next from createtitle into @tistr
end
close createtitle
deallocate createtitle
select @master_insert_sql_str=@master_insert_sql+' values(' + @ti_insert_sql + ')'
print @master_insert_sql_strEXEC(@master_insert_sql_str)
EXEC(@master_tb) --创建主表-----结束----------
insert into [dbo].[sp_tmp_report_data](fd_name,t4,t3,t2,t1) values('上报单位','授信项下单笔信贷业务','非授信项下单笔信贷业','额度授信业务','信用评级')
消息 208,级别 16,状态 1,第 1 行
对象名 'dbo.sp_tmp_report_data' 无效。
执行 上面那些insert语句是出错,单独复制出来能够执行。救命啊。生成insert代码部份:
-- 如表已经存在则删除
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_tmp_report_data]') AND type in (N'U'))
begin
SET @DELETE_TMP_TABLE='DROP TABLE [dbo].[sp_tmp_report_data]'
EXEC(@DELETE_TMP_TABLE)
end
declare @masterfields_count int,@master_tb nvarchar(1000),@master_tb_str nvarchar(1000),@master_insert_sql nvarchar(1000),@master_insert_sql_str nvarchar(1000)
set @master_tb_str=''
set @master_insert_sql_str=''
select @master_tb='CREATE TABLE [dbo].[sp_tmp_report_data]([id] [int] IDENTITY(1,1) NOT NULL,[fd_name] [nchar](30) NULL'
select @master_insert_sql='insert into [dbo].[sp_tmp_report_data](fd_name'
select @masterfields_count=count(*) from tmp_rp_hltb_tbidx1 while @masterfields_count>0
begin
select @master_tb_str=@master_tb_str +',[t'+replace(str(@masterfields_count),' ','')+'] [nchar](30) NULL'
select @master_insert_sql_str = @master_insert_sql_str + ',t'+replace(str(@masterfields_count),' ','')
select @masterfields_count=@masterfields_count-1
end
select @master_tb=rtrim(@master_tb) + rtrim(@master_tb_str) + ') ON [PRIMARY]'
select @master_insert_sql=@master_insert_sql + rtrim(@master_insert_sql_str) + ')'declare @tistr varchar(20),@ti_insert_sql varchar(1000)
set @ti_insert_sql=''''+rtrim(@sl_fd_name)+''''
declare createtitle cursor for select fd_name from tmp_rp_hltb_tbidx1
open createtitle
fetch next from createtitle into @tistr
while ( @@FETCH_STATUS = 0 )
begin
select @ti_insert_sql = @ti_insert_sql +',''' + rtrim(@tistr) +''''
fetch next from createtitle into @tistr
end
close createtitle
deallocate createtitle
select @master_insert_sql_str=@master_insert_sql+' values(' + @ti_insert_sql + ')'
print @master_insert_sql_strEXEC(@master_insert_sql_str)
EXEC(@master_tb) --创建主表-----结束----------
解决方案 »
- SQL Compact 3.5的SDF文件如何导出为SQL
- 用alter语句修改视图时(语法都正确),但可能有些列(或关联表)不存在所以导致有出错提示,最终更新不成功!现在怎样忽略这种提示并使得更
- 在企业管理器中如何查看数据库和日志分别点用的空间量?
- 请问怎样把远程xml文档写入sql数据库?
- 简单的Update操作,在线等,急!!
- 联合查询的问题?
- 求SQL语句~具体要求请看以下的表!请高手出手~~谢谢~~~
- 大家帮我看看这个sql语句怎么写 ,希望大家帮帮我!谢谢!
- 此sql语句如何实现,谢谢
- 筛选A列值增大B列值反而小的行
- 用了更新锁,整个表都被锁定了,不对吧?
- 如何用创建的用户登陆sql数据库啊
消息 208,级别 16,状态 1,第 1 行
对象名 'dbo.sp_tmp_report_data' 无效。 这个是什么原因啊
对象名 无效
我早就遇到过了
解决办法是:迅速看一下你连接的是否是你想要的数据库
说明对象名 'dbo.sp_tmp_report_data' 此表不在应该所在的数据库中!
EXEC(@master_tb) --创建主表 ---EXEC(@master_tb) --创建主表
EXEC(@master_insert_sql_str) 看你程序一开始就先判断存在此表删除 ,下面是不是先要创建才能insert呀,换一下先后次序看看