sql變數聲明
① 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
② SQL必須聲明標量變數
@CusNo是變數,不能直接放在sql裡面執行,你需要先拼湊sql字元串,然後執行這個字元串
祝好運,望採納。
③ .sql文件中怎麼聲明變數請詳細說一下。
聲明變數:
declare @變數名 變數類型
如:
declare @datetime datetime
設置變數值:
set @變數名 = 值
設置變數為當前時間:
set @變數名 = getdate()
④ SQL文件中怎麼聲明變數
在 SQL Server 用 declare 聲明變數
declare@xint--聲明一個int類型變數
set@x=100--賦值
⑤ sql 如何聲明變數
@bComsume=bComsume,@bProcing=bProcing,@bPurchase=bPurchase,@bSale=bSale,@bSelf=bSelf,@cG
roupCode=cGroupCode,
(@cInvCode,@cInvAddCode,@cInvCCode,@cInvName,@cInvStd,@bComsume,@bProcing,@bPurchase,@bSal
e,@bSelf,@cGroupCode,
你自己多了兩個回車
復制來的程序,自己也要看看吧?
⑥ 如何在SQL中聲明一個數組變數以及相關SQL語
集合:是具有相同定義的元素的聚合。Oracle有兩種類型的集合:
可變長數組(VARRAY):可以有任意數量的元素,但必須預先定義限制值。
嵌套表:視為表中之表,可以有任意數量的元素,不需要預先定義限制值。
在PL/SQL中是沒有數組(Array)概念的。但是如果程序員想用Array的話,就得變通一下,用TYPE 和Table of Record來代替多維數組,一樣挺好用的。
emp_type 就好象一個table 中的一條record 一樣,裡面有id, name,gender等。emp_type_array 象個table, 裡面含有一條條這樣的record (emp_type),就象多維數組一樣。
--單維數組
DECLARE
TYPE emp_ssn_array IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
best_employees emp_ssn_array;
worst_employees emp_ssn_array;
BEGIN
best_employees(1) := '123456';
best_employees(2) := '888888';
worst_employees(1) := '222222';
worst_employees(2) := '666666';
FOR i IN 1..best_employees.count LOOP
DBMS_OUTPUT.PUT_LINE('i='|| i || ', best_employees= ' ||best_employees(i)
|| ', worst_employees= ' ||worst_employees(i));
END LOOP;
END;
--多維數組
DECLARE
TYPE emp_type IS RECORD
( emp_id employee_table.emp_id%TYPE,
emp_name employee_table.emp_name%TYPE,
emp_gender employee_table.emp_gender%TYPE );
TYPE emp_type_array IS TABLE OF emp_type INDEX BY BINARY_INTEGER;
emp_rec_array emp_type_array;
emp_rec emp_type;
BEGIN
emp_rec.emp_id := 300000000;
emp_rec.emp_name := 'Barbara';
emp_rec.emp_gender := 'Female';
emp_rec_array(1) := emp_rec;
emp_rec.emp_id := 300000008;
emp_rec.emp_name := 'Rick';
emp_rec.emp_gender := 'Male';
emp_rec_array(2) := emp_rec;
FOR i IN 1..emp_rec_array.count LOOP
DBMS_OUTPUT.PUT_LINE('i='||i
||', emp_id ='||emp_rec_array(i).emp_id
||', emp_name ='||emp_rec_array(i).emp_name
||', emp_gender = '||emp_rec_array(i).emp_gender);
END LOOP;
END;
-------------- Result --------------
i=1, emp_id =300000000, emp_name =Barbara, emp_gender = Female
i=2, emp_id =300000008, emp_name =Rick, emp_gender = Male
⑦ sql怎麼聲明變數
聲明局部變數語法:DECLARE @variable_name DataType其中 variable_name為局部變數的名稱,DataType為數據類型。
給局部變數賦值有兩種方法:
1、SET @variable_name=value
2、SELECT @variable_name=value
兩者的區別:SET賦值語句一般用於賦給變數一個指定的常量,SELECT賦值語句一般用於從表中查詢出數據然後賦給變數。
例如:DECLARE @count int
SET @count=123
PRINT @count
全局變數:由於全局變數是系統定義的,我們這里只做舉例。
@@ERROR 最後一個T-SQL錯誤的錯誤號
@@IDENTITY 最後一次插入的標識值
@@LANGUAGE 當前使用的語言名稱
@@MAX_CONNECTIONS 可以創建的同時連接的最大數目
@@SERVERNAME 本地伺服器的名稱
@@VERSION SQL Server的版本信息
⑧ SQL Server中聲明變數
SQL Server中聲明變數
declare @a int
declare @b int
declare @c int
declare @d int
declare @str int
set @str=0
while @str<=9999
begin
set @a=cast(substring(right('0000'+cast(cast(@str as varchar) as varchar),4),1,1) as int)
set @b=cast(substring(right('0000'+cast(cast(@str as varchar) as varchar),4),2,1) as int)
set @c=cast(substring(right('0000'+cast(cast(@str as varchar) as varchar),4),3,1) as int)
set @d=cast(substring(right('0000'+cast(cast(@str as varchar) as varchar),4),4,1) as int)
if (@a*7+@b*9+@c*10+@d*5+222)%11=3
begin
print ('a='+cast(@a as varchar)+' b='+cast(@b as varchar)+' c='+cast(@c as varchar)+' d='+cast(@d as varchar))
end
set @str=@str+1
end
⑨ 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文件中怎麼聲明變數
declare @變數名 varchar(長度)/char(長度)/int/numeric(長度,位數)
直接給定義好的變數賦值:
set @變數名 = 值
print @變數名 可以查看值
注意:需要從開始定義變數名開始選中運行,sql會每次自動釋放定義的變數