當前位置:首頁 » 編程語言 » sql變數申明

sql變數申明

發布時間: 2022-03-12 08:17:15

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 @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中變數聲明的命令是什麼

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

❹ SQLserver 怎麼聲明變數

點擊開始——所有程序——Microsoft SQL Server——企業管理器——(local)(Windows NT)——安全性——登錄——sa,彈出SQL Server登錄屬性—sa界面,輸入新的密碼,確定。

密碼無法看到,但是可以重新設置。

❺ SQL 查詢語句如何定義變數

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

其作用主要是為了增加可讀性。

❻ SQL定義日期變數代碼

您好,存儲過程里參數的默認值不能使用函數,所以不能在存儲過程里直接把參數的默認值設置為當前系統時間,不過可以在存儲過程里賦值。還有一點疑問,既然@myday是當前系統時間了,為什麼還要做成參數呢?

CREATE PROCEDURE pro_test
@myday char(10)
AS
set @myday=convert(char(10),getdate(),21)
update mytable set status = 1 where day>@myday
GO

@myday不為參數時可以這么寫
CREATE PROCEDURE pro_test
AS
declare @myday char(10)
set @myday=convert(char(10),getdate(),21)
update mytable set status = 1 where day>@myday

❼ 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文件中怎麼聲明變數請詳細說一下。

聲明變數:
declare @變數名 變數類型
如:
declare @datetime datetime
設置變數值:
set @變數名 = 值
設置變數為當前時間:
set @變數名 = getdate()

❾ 如何在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 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

熱點內容
崩壞學園2腳本 發布:2025-01-15 12:58:43 瀏覽:457
我的世界伺服器等級如何升 發布:2025-01-15 12:45:55 瀏覽:688
c語言程序填空題 發布:2025-01-15 12:45:53 瀏覽:544
怎麼配置氯化鈉濃度 發布:2025-01-15 12:34:06 瀏覽:205
4000除以125簡便演算法 發布:2025-01-15 12:27:41 瀏覽:463
源碼商用 發布:2025-01-15 12:26:54 瀏覽:74
價錢演算法 發布:2025-01-15 12:26:03 瀏覽:400
蘋果手機安卓功能在哪裡 發布:2025-01-15 12:21:34 瀏覽:786
伺服器地址埠名稱怎麼找 發布:2025-01-15 12:15:32 瀏覽:705
怎麼把電腦程序改安卓 發布:2025-01-15 12:13:52 瀏覽:576