sql必須聲明表變數
『壹』 必須聲明表變數 "@tableName"。
CREATE proc [dbo].[delAllRecord]
as
declare @tableName nvarchar(255)
declare @sql nvarchar(255)
Declare curTable Cursor
for select Table_Name from information_schema.tables where TABLE_TYPE='BASE TABLE'
Open curTable
Fetch Next From curTable Into @tableName
WHILE(@@FETCH_STATUS = 0)
BEGIN
set @Sql = N'delete from '+@tableName
exec sp_executesql @sql
Fetch Next From curTable Into @tableName
end
CLOSE curTable
DEALLOCATE curTable
這樣改吧,N'delete from @tableName'這句把@tableName當做了表變數,沒法通過字元串賦值。
『貳』 sql的存儲過程,「必須聲明表變數 "@tab"。」錯哪了啊
update @tab set @col = replace(@col,'6','6')
這里的@TAB 不能是變數
update tablename
『叄』 高分求解:SQL存儲過程輸出參數必須聲明標量變數問題
exec('select @totalCount = count(['+ @orderByWhere +']) from '+ @pageTable +' where '+ @pageWhere)
你count 直接count(*) 就可以了...
網上Demo很多你找一個直接用多好
『肆』 sql server游標使用中的問題,出現「必須聲明標量變數」錯誤提示。謝謝
declarecurcursordynamic
for
select*fromstu
opencur
declare@idint,@namenvarchar(12),@ageint,@sexnvarchar(5),@aint
fetchnextfromcurinto@id,@name,@age,@sex,@a
while@@fetch_status=0
begin
printcast(@idasnvarchar)+@name+cast(@ageasnvarchar)+@sex+cast(@aasnvarchar)
fetchnextfromcurinto@id,@name,@age,@sex,@a
end
closecur
deallocatecur
go
這樣吧
int類型的不能直接用+號,必須轉成字元型才可以輸出,還有,你游標有些地方用的不正確,也沒關閉和釋放, 所以執行一次後,就會報游標未關閉之類的錯
『伍』 必須聲明表變數 "@indextable" 存儲過程中執行動態sql。
具體問什麼呢??很明顯意思就是你沒有聲明這個"@indextable變數
『陸』 SQL用while時提示:必須聲明標量變數 "@startmonth"的問題
把GO去掉
select不是輸入語句,它是查詢語句,你可以select str(id)@name+str(@age)+@sex+str(@a)
這樣它會把這個結果計算並以表格形式顯示出來,加上str是為了把數字轉換為字元,再跟其它字元鏈接
『柒』 java動態連接sql資料庫的時候com.microsoft.sqlserver.jdbc.SQLServerException: 必須聲明表變數 "@P0"。
樓主,你是講表名作為參數傳進去了嗎?「必須聲明表變數」好像是說你得表名沒獲取到,沒有錯誤信息和代碼不好確定,不過我跟你同樣的錯誤,我的是表名獲取的時候用的#{tableName}改成${tableName}就好了。
『捌』 C#寫的SQL語句提示說「必須申明標量變數」!
select 語句中的欄位列表中不能使用參數;參數只能出現在where子句中,修改成
……
strSql.Append("SELECTTW_TwitterContent,TW_PhoneModel,1,Organization_ID,Organization_Name,User_ID,USER_NAME,GETDATE(),0FROMView_Base_UserInfoWHEREUser_Phone=@User_Phone");
……
//只有一個參數了
SqlParameter[]parameters={newSqlParameter("@User_Phone",SqlDbType.VarChar,11)};
parameters[0].Value=User_Phone;
……
『玖』 SQL必須聲明標量變數
你的代碼太亂啦!我幫你簡單改了下
有@NUMBER就更新沒有就新增
@rtn為1:表示新增2:為更新
CREATEPROCCUNCHUGUOCHENG
@NUMBERVARCHAR(10),
@rtnINToutput
AS
BEGIN
ifexists(select*=@NUMBER)
begin
=@NUMBERWHERENUMBER=@NUMBER
SET@rtn=2
end
else
begin
(@NUMBER)
SET@rtn=1
end
END
GO
『拾』 SQL 提示必須聲明表變數
Create PROCEDURE [dbo].[ccout]
@lx varchar(10),
@id varchar(30),
@zt varchar(10),
@sjbh varchar(10)
AS
begin
set nocount on
declare @sql nvarchar(500)
declare @int int
if @lx='1'
begin
Set @sql='
With T
As
(
Select Top 1 * From '+@id+' Where 狀態=1 Order by newid()
)
Update T Set 狀態=2
Output inserted.編號,inserted.賬號,inserted.密碼 '
end
else
begin
set @sql='update '+@id+' set 狀態='+@zt+' where 編號='+@sjbh
end
exec (@sql)
set nocount off
end