1樓:【深※藍
你的問題出在對來變數源的賦值上了,應該用:select @a=@@identity,
以下是我按你的要求做的例子,sqlserver 2008中測試正確:
create table login
(sid int identity primary key,name varchar(40) ,
password varchar(40),alevel varchar(40))
gocreate table uninfo(uid int)
godeclare @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
godrop table login
godrop table uninfogo
2樓:匿名使用者
insert into [table2](uninfo) values(insert into [table1] values(7,7,4)select @@duidentity)
你試試行不行,zhi我對@@identity引數也
dao不是很了內解。容。希望能幫到你。。
sql server中變數宣告的命令是什麼
3樓:匿名使用者
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('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))
endset @str=@str+1end
4樓:匿名使用者
declare 變數名 變數型別[,變數名 變數型別]如:declare @id int,@mc varchar(20)宣告 @id 為整形;,@mc為字元(20位)。
一個 declare 可宣告一個或多個變數變數名前一定要加「@」符號。
sql server 儲存過程中怎麼將變數賦值
5樓:
/*sql server 儲存過程中怎麼將變數賦值*/--sql賦值語句
declare @test1 int
select @test1 = 111
set @test1 = 222
--sql函式賦值,假定count()是自定義函式declare @test2 int
select @test2 = count(*) from sys.sysobjects
--sql儲存過程賦值,直接傳參處理(類似c語言中的指標嗎)if object_id('sp_test') is not null drop procedure sp_test
gocreate procedure sp_test(@test int output)
asbegin
select @test = 999
endgo
declare @test3 int
exec sp_test @test3 outputselect @test3
drop procedure sp_testgo
6樓:匿名使用者
暈啊,你這個賦值辦法。。。哈哈哈哈。
select @companycode = comcode from t_company where comid = '000001'
如果是給變
量賦常量
select @companycode = 100 類似
7樓:匿名使用者
不用 into 的例子:
1>2>3> declare
4> @testvalue as varchar(20);
5> begin
6> set @testvalue = 'first test!';
7> print( @testvalue );
8> end;
9> go
first test!
8樓:匿名使用者
zhanghb_3722
怎麼可以複製別人的**來回答呢!當然,大家都是正確的
9樓:匿名使用者
lz 試試這個 把位置換換
select top 1 @引數=column from table where ...
10樓:
select @companycode = comcode from t_company where comid = '000001'
11樓:淳于建設汲媚
儲存過程裡參
數的預設值不能使用函式,所以不能在儲存過程裡直接把引數的預設值設定為當前系統時間,不過可以在儲存過程裡賦值。還有一點疑問,既然@myday是當前系統時間了,為什麼還要做成引數呢?
create
procedure
pro_test
@myday
char(10)
asset
@myday=convert(char(10),getdate(),21)
update
mytable
setstatus=1
where
day>@myday
go@myday不為引數時可以這麼寫
create
procedure
pro_test
asdeclare
@myday
char(10)
set@myday=convert(char(10),getdate(),21)
update
mytable
setstatus=1
where
day>@mydaygo
sqlserver 怎麼宣告變數?
12樓:匿名使用者
declare @v_name varchar(255)--區域性變數
declare @@v_name varchar(255)--全域性變數
資料型別可以自己定義的!
13樓:匿名使用者
區域性變數用一個@標識,全域性變數用兩個@(常用的全域性變數一般都是已經定義好的);
申明區域性變數語法:declare @變數名 資料型別;例如:declare @num int;
賦值:有兩種方法式(@num為變數名,value為值)
set @num=value; 或 select @num=value;
如果想獲取查詢語句中的一個欄位值可以用select給變數賦值,如下:
select @num=欄位名 from 表名 where ……
全域性變數是系統預定義的,返回一些系統資訊,全域性變數以兩個at(@)開頭。
14樓:匿名使用者
先命名然後再限制資料型別
例如:name varchar(10);
number int ;
price money;
15樓:有心不遲
還得看你要宣告的是宣告變數。
16樓:匿名使用者
declare [變數名稱] [變數資料型別][資料大小]
example:
declare @cust_no varchar(10)
17樓:淡淡雅惠
declare 變數名 變數資料型別
18樓:匿名使用者
declare @a varchar(50) declare是宣告關鍵字 @a 是變數名 varchar(50) 是變數型別
@@a 是指全域性變數
19樓:
使用 declare 進行宣告
20樓:匿名使用者
先宣告你變數的型別,再命名就ok了
21樓:匿名使用者
declare @a_name varchar(20)
22樓:可持續幸福
在變數前加 declare @
23樓:上天入地
declare @x
sql怎麼宣告變數?
24樓:tongkai瓜
宣告區域性變數語法:declare @variable_name datatype其中 variable_name為區域性變數的名稱,datatype為資料型別。
給區域性變數賦值有兩種方法:
1、set @variable_name=value2、select @variable_name=value兩者的區別:set賦值語句一般用於賦給變數一個指定的常量,select賦值語句一般用於從表中查詢出資料然後賦給變數。
例如:declare @count intset @count=123
print @count
全域性變數:由於全域性變數是系統定義的,我們這裡只做舉例。
@@error 最後一個t-sql錯誤的錯誤號@@identity 最後一次插入的標識值@@language 當前使用的語言名稱
@@max_connections 可以建立的同時連線的最大數目@@servername 本地伺服器的名稱@@version sql server的版本資訊
資料庫中怎樣宣告變數?
25樓:匿名使用者
declare @test nvarchar(1000)declare @test2 int
這個是宣告一個test變數 型別是nvarchar型別 長度為1000 位元組
還有很多型別 第二句是宣告int型別的 這種不需要寫長度 因為資料庫軟體 比如sql server已經規定了它的長度
26樓:匿名使用者
區域性變數
宣告變數: declare @i int
賦值: set 或 select (常用set)全域性變數(系統全域性變數):
@@rowcount @@spid
sql檔案中怎麼宣告變數
27樓:匿名使用者
在 sql server 用 declare 宣告變數
declare @x int -- 宣告一個int型別變數
set @x = 100 -- 賦值
JSP中2者之間宣告的變數有什麼
變數 共享 中屬於區域性變數,不同客戶訪問同一頁面不能共享 page contenttype text html charset gb2312 int counter 0 synchronized void counterfunction counterfunction 計數器 您是第 counte...
如何在sqlserver建立新使用者並關聯相應的資料庫
sqlserver 一 操作步驟首先進入資料庫級別的 安全性 登入名 新建登入名 圖1 新建登入名 2.在 常規 選項卡中,如下圖所示,建立登陸名,並設定預設的資料庫。圖2 設定選項 3.在 使用者對映 選項卡中,如下圖所示,勾選需要設定的資料庫,並設定 架構 點選 確認 按鈕,完成建立使用者的操作...
sqlserver中datetime型別怎樣把輸出的秒去掉只取
sql convert 用法 convert data type,expression style convert varchar 10 欄位名,轉換格式 說明 此樣式一般在時間型別 datetime,alldatetime 與字串型別 nchar,nvarchar,char,varchar 相互轉...