Navicat 運行SQL命令報錯,但同樣的命令在SQL運行正常,具體怎么弄?謝謝
declare @QQNum int = 40002336
declare @sql varchar(8000)
declare @dbIdx int = 1
if OBJECT_ID('tempdb.dbo.#QunList') is not null
drop table #QunList
if OBJECT_ID('tempdb.dbo.#QunDetail') is not null
drop table #QunDetail
create table #QunList
(
QQNum int,
Nick varchar(20),
Age int,
Gender int,
Auth int,
QunNum int,
Title varchar(22),
QunText varchar(80)
)
create table #QunDetail
(
QunNum int,
Title varchar(22),
QunText varchar(80)
)
-- Search QunList
while @dbIdx <= 11
begin
declare @tblIdx int = 1
declare @tblName varchar(50)
while @tblIdx <= 100
begin
set @tblName = 'GroupData' + CONVERT(varchar(2), @dbIdx) + '.dbo.Group'
set @tblName += CONVERT(varchar(5), (@dbIdx - 1) * 100 + @tblIdx)
set @sql = 'select QQNum, Nick, Age,Gender, Auth, QunNum from '
set @sql += @tblName + ' where QQNum=' + CONVERT(varchar(15), @QQNum)
insert into #QunList(QQNum, Nick,Age,Gender,Auth,QunNum) exec(@sql)
print @tblname + ' OK'
set @tblIdx += 1
end
set @dbIdx += 1
end
-- Search QunDetail
declare @QunNum int
declare cur_Qun cursor
for select QunNum from #QunList
open cur_Qun
fetch next from cur_Qun into @QunNum
while @@FETCH_STATUS = 0
begin
set @sql = 'select QunNum,Title,QunText from QunInfo' + CONVERT(varchar(5), @QunNum / 10000000 + 1) + 'on.dbo.'
set @sql += 'QunList' + CONVERT(varchar(10), @QunNum / 1000000 + 1) + ' where QunNum=' + Convert(varchar(20),@QunNum)
insert into #QunDetail exec(@sql)
fetch next from cur_Qun into @QunNum
end
close cur_Qun
deallocate cur_Qun
-- combine QunList with QunDetail
update #QunList set Title = #QunDetail.Title,QunText=#QunDetail.QunText
from #QunDetail
where #QunList.QunNum = #QunDetail.QunNum
select * from #QunList
報錯:[42S02] [Microsoft][SQL Server Native Client 10.0][SQL Server]物件名 'QunInfo1on.dbo.QunList3' 無效。 (208)
uj5u.com熱心網友回復:
這2句拼接有問題吧set @sql = 'select QunNum,Title,QunText from QunInfo' + CONVERT(varchar(5), @QunNum / 10000000 + 1) + 'on.dbo.'
set @sql += 'QunList' + CONVERT(varchar(10), @QunNum / 1000000 + 1) + ' where QunNum=' + Convert(varchar(20),@QunNum)
uj5u.com熱心網友回復:
但SQLserver里可以正常查詢,不知道為什么uj5u.com熱心網友回復:
資料表格里面有資料嗎?
uj5u.com熱心網友回復:
但SQLserver里可以正常查詢,不知道為什么
這2句拼接有問題吧
set @sql = 'select QunNum,Title,QunText from QunInfo' + CONVERT(varchar(5), @QunNum / 10000000 + 1) + 'on.dbo.'
set @sql += 'QunList' + CONVERT(varchar(10), @QunNum / 1000000 + 1) + ' where QunNum=' + Convert(varchar(20),@QunNum)
資料表格里面有資料嗎?
uj5u.com熱心網友回復:
有得,結果正常,Navicat 報錯,:[42S02] [Microsoft][SQL Server Native Client 10.0][SQL Server]物件名 'QunInfo1on.dbo.QunList3' 無效。 (208)
但SQLserver里可以正常查詢,不知道為什么
這2句拼接有問題吧
set @sql = 'select QunNum,Title,QunText from QunInfo' + CONVERT(varchar(5), @QunNum / 10000000 + 1) + 'on.dbo.'
set @sql += 'QunList' + CONVERT(varchar(10), @QunNum / 1000000 + 1) + ' where QunNum=' + Convert(varchar(20),@QunNum)
資料表格里面有資料嗎?
我不知道你為什么不報錯,
這句明顯有錯阿。
set @sql += 'QunList' + CONVERT(varchar(10), @QunNum / 1000000 + 1) + ' where QunNum=' +
你在QunList后面又加上了數字,但是明顯你沒有這個表格的。
uj5u.com熱心網友回復:
有得,結果正常,Navicat 報錯,:[42S02] [Microsoft][SQL Server Native Client 10.0][SQL Server]物件名 'QunInfo1on.dbo.QunList3' 無效。 (208)
但SQLserver里可以正常查詢,不知道為什么
這2句拼接有問題吧
set @sql = 'select QunNum,Title,QunText from QunInfo' + CONVERT(varchar(5), @QunNum / 10000000 + 1) + 'on.dbo.'
set @sql += 'QunList' + CONVERT(varchar(10), @QunNum / 1000000 + 1) + ' where QunNum=' + Convert(varchar(20),@QunNum)
資料表格里面有資料嗎?
我不知道你為什么不報錯,
這句明顯有錯阿。
set @sql += 'QunList' + CONVERT(varchar(10), @QunNum / 1000000 + 1) + ' where QunNum=' +
你在QunList后面又加上了數字,但是明顯你沒有這個表格的。
uj5u.com熱心網友回復:
請問下具體怎么改?萬分感謝
有得,結果正常,Navicat 報錯,:[42S02] [Microsoft][SQL Server Native Client 10.0][SQL Server]物件名 'QunInfo1on.dbo.QunList3' 無效。 (208)
但SQLserver里可以正常查詢,不知道為什么
這2句拼接有問題吧
set @sql = 'select QunNum,Title,QunText from QunInfo' + CONVERT(varchar(5), @QunNum / 10000000 + 1) + 'on.dbo.'
set @sql += 'QunList' + CONVERT(varchar(10), @QunNum / 1000000 + 1) + ' where QunNum=' + Convert(varchar(20),@QunNum)
資料表格里面有資料嗎?
我不知道你為什么不報錯,
這句明顯有錯阿。
set @sql += 'QunList' + CONVERT(varchar(10), @QunNum / 1000000 + 1) + ' where QunNum=' +
你在QunList后面又加上了數字,但是明顯你沒有這個表格的。
我也不知到你要什么啊,沒法給你建議。
起碼 + CONVERT(varchar(10), @QunNum / 1000000 + 1) 是要去掉的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/27955.html
標籤:疑難問題
上一篇:求資料庫實驗題
下一篇:奇怪
