当前位置:首页 » 编程语言 » sql声明变量

sql声明变量

发布时间: 2022-01-12 03:54:38

‘壹’ sql 查询语句如何定义变量

as在SQL中是别名的用法,它可以为表名取别名,也可以为列名取别名,

其作用主要是为了增加可读性。

‘贰’ 如何在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必须声明标量变量

你的代码太乱啦!我帮你简单改了下
有@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

‘伍’ sqlserver中声明变量并使用

你的问题出在对变量的赋值上了,应该用:SELECT @a=@@IDENTITY,
以下是我按你的要求做的例子,SQLServer 2008中测试正确:
Create Table login
(sId int IDENTITY PRIMARY KEY,
Name varchar(40) ,
Password varchar(40),
alevel varchar(40))
go
Create Table uninfo
(uid int)
go

declare @a INT
Insert Into login (Name,Password,alevel)
values (7,7,4)
Select * From login

SELECT @a=@@IDENTITY
insert into uninfo (uid) values (@a)
Select * From uninfo
go

drop table login
go
drop table uninfo
go

‘陆’ .sql文件中怎么声明变量请详细说一下。

声明变量:
declare @变量名 变量类型
如:
declare @datetime datetime
设置变量值:
set @变量名 = 值
设置变量为当前时间:
set @变量名 = getdate()

‘柒’ SQLserver 怎么声明变量

点击开始——所有程序——Microsoft SQL Server——企业管理器——(local)(Windows NT)——安全性——登录——sa,弹出SQL Server登录属性—sa界面,输入新的密码,确定。

密码无法看到,但是可以重新设置。

‘捌’ sql中的变量定义

你的用法有错误,变量不能这样使用的,
as在SQL中是别名的用法,它可以为表名取别名,也可以为列名取别名,
其作用主要是为了增加可读性。
示例:为列取别名的两种写法
1、字段名 as 别名 注:as 也可以省略

select id as 编号,name as 姓名 from table1

这句也可以写成:

select id 编号,name 姓名 from table1

2、用等号来使用别名

select 编号=id,姓名=name from table1

其效果和前两个语句一样

示例2:为表名取别名的用法

select a.id 编号,name 姓名 from table1 as a join table2 as b on a.id=b.id

其中as 也可以省略。

‘玖’ SQL SERVER中变量声明的命令是什么

declare @变量名 类型

比如给你写个例子,declare的那些都是生明变量,set是给变量赋值

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(񟍰'+cast(cast(@str as varchar) as varchar),4),1,1) as int)
set @b=cast(substring(right(񟍰'+cast(cast(@str as varchar) as varchar),4),2,1) as int)
set @c=cast(substring(right(񟍰'+cast(cast(@str as varchar) as varchar),4),3,1) as int)
set @d=cast(substring(right(񟍰'+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声明变量

dj和bw都得先声明,后使用。
其实你sql里不用加变量,直接把 x1,x2,y1,y2 用上就行了,不用那么麻烦加到变量里。
可以直接 用 and 东经>=x1 and 东经<=x2 and ........

如果非要使用变量。得在 sb.Append("select 工单流水号,东经,北纬,申告内容,工单提交时间,工单类型 from db... 前面再加上生命变量的语句。
如果是sqlserver 就是 sb.append("declare @dj1 float,@dj2 float ,@bw1 float,@bw2 float");
然后后面查询条件才能用到 @dj1 @dj2

热点内容
缓存行原理 发布:2024-11-14 13:08:56 浏览:431
简单的vb编程 发布:2024-11-14 13:06:45 浏览:523
绿色linux 发布:2024-11-14 12:56:11 浏览:349
游戏本缓存 发布:2024-11-14 12:55:28 浏览:649
微软提供的编译软件 发布:2024-11-14 12:55:16 浏览:18
长沙java培训机构哪家好 发布:2024-11-14 12:40:53 浏览:229
外存储器硬盘能存储的高清电影数 发布:2024-11-14 12:33:23 浏览:266
python分号作用 发布:2024-11-14 12:31:50 浏览:224
方舟编译器下载要钱吗 发布:2024-11-14 12:29:20 浏览:63
jspoa源码 发布:2024-11-14 12:21:31 浏览:420