sqlserver變數賦值
⑴ sqlSERVER 存儲過程中 賦值時出錯 提示:必須聲明標量變數
存儲過程代碼也不貼出來,怎麼幫你分析呢?一般出現這種問題的原因是變數沒有事先定義就直接賦值,或者語法不對,用set還是select是有講塌培拿究的,建團搭議把代碼貼出來看中孝看
⑵ 如何給sqlserver 存儲過程中的變數賦值
你差扮枯有存儲過虛洞程定義如下
create procere some_procere @var1 int,@var2 int
傳值時
exec some_procere 100,100或者缺灶
exec some_procere @var1=100,@var2=100
⑶ SQLserver 怎麼聲明變數
點擊開始——所有程序——Microsoft SQL Server——企業管理器——(local)(Windows NT)——安全性——登錄——sa,彈出SQL Server登錄屬性—sa界面,輸入新的密碼,確定。
密碼無法看到,但是可以重新設置。
⑷ SQL server 中 關於@和declare的解釋,請看詳細
1.SQL server使用declare來聲明局部變數。
語法:DECLARE @local_variable data_type
其中,local_variable為局部變數的名稱,data_type為數據類型。
2.SQL server中的變數前面都要加@。
其中,局部變數以一個@符號開頭,全局變數以兩個@@符號開頭(如:@@ERROR)。
3.@可以看作局部變數的一個標志,是一種規定,不可以去掉的。
上圖是declare一個簡單應用的例子。
(4)sqlserver變數賦值擴展閱讀:
1.用declare進行聲明的同時也可對變數賦初值,如:declare @id int = 3
2.SQL server中使用@@表示的全局變數,是系統預先定義的,我們寫的sql語句不能創建、修改這些變數的值,只能讀取。
⑸ sqlserver存儲過程加變數的問題
加上引號
create proc insertTableNO(
@name varchar(50),
@manHour decimal,
@workTime datetime,
@wages decimal,
@insertTime datetime,
@tableName varchar(50)
)
as
begin
if object_id(@tableName) is not null
exec('insert into '+ @tablename+ ' ( name,manHour,workTime,wages,insertTime)
values('''散灶枝+@name+''','''+@manHour+''','辯神''+@workTime+''','''+@wages+'''沖敏,'''+@insertTime+''')')
else
return -1
end
⑹ 在SQL Server資料庫中 存儲過程是什麼,希望給點例題
存儲過程不僅sqlserver里有、其他dbms也有、只是語法有小出入。
存儲過程是一段存儲在系統中可隨時使用的可帶參數的SQL執行語句或程序段。
使用存儲過程可以避免重復的填寫SQL語句、可以快速的得到符合條件的某段SQL語句的執行結果。
例子(MSSQL):比如想實現一個表a(aid int,atime datetime)輸入aid的值得到對應的atime的值
創建:
create proc proc_test //創建過程
@aid int //定義一個參數(默認為in參數)
as
declare @atime datetime //定義一個變數用於接收返回值(游標在這里定義)
begin
select @atime=atime from a where aid=@aid //select @xxx=xxx from是給變數賦值、也是sql語句的符合條件值
print @atime //print方法輸出顯示變數
end
執行:
exec proc_test a表中aid的任意一個值
以後想實現通過輸入aid(或者其他列)的值得到atime(或者其他列)的值、就不用一遍一遍的寫sql語句
這只是一個簡單的應用。如果SQL語句是復雜語句、不是就省事多了?
這個例子只能返回一條記錄、如果想返回多條、需要用游標。
這里暫時只給你簡單應用、你先理解下。