sql聲明變數
『壹』 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