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会每次自动释放定义的变量