--
自動執行作業時標識列的返回值的應用
/*聯機叢書說明:
-- scope_identity
、ident_current
和@@identity
是相似的函式,因為它們都返回插入到標識列中的值。
--1. ident_current
不受作用域和會話的限制,而受限於指定的表。
ident_current
返回為任何會話和作用域中的特定表所生成的值。
--2. scope_identity
和@@identity
返回在當前會話中的任何表內所生成的最後乙個標識值。
-->
但是,scope_identity
只返回插入到當前作用域中的值;
@@identity
不受限於特定的作用域。 */
舉例說明一:在自動執行作業時建議使用
ident_current
函式。
/**下面針對自動作業返回標識值的應用舉例,主要說明
ident_current
和@@identity
相比,ident_current
返回值有效
**/
select
' 匯入業務單據
,同步模擬第'+
cast
(ident_current
('ceshi2..cwcmslog'
)+ 1 as
varchar
( 1))+' 次
',getdate()
-- ident_current ('ceshi2..cwcmslog') --
返回為某個會話和作用域中指定的表或檢視生成的最新的標識值。
--result :
匯入業務單據
,同步模擬第2次
2009- 07- 14 09: 47: 01.293
select
' 匯入業務單據
,同步模擬第'+
cast
(@@identity
+1 as
varchar
( 1))+' 次
',getdate()
-- @@identity --
返回最後插入的標識值的系統函式(作用域侷限於執行該函式的本地伺服器上的當前會話,當關閉當前會話時返回
null)
--result :
null
2009- 07- 14 09: 47: 01.293
舉例說明二:
在返回標識列序號時,選擇
scope_identity
或@@identity
函式各有不同。都是返回當前作用域或會話的標識值,但
@@identity
函式不受限於特定的作用域,
返回最後乙個標識值。
/**下面手動作業返回標識值,聯機叢書中的應用舉例;主要說明
scope_identity
和@@identity
在當前會話中返回最後乙個標識值的不同
**/
-->1.
新建兩個表
tz 和
ty ,分別設定各自的標識列
create
table tz ( z_id int
identity
( 1, 1)
primary
key, z_name varchar
( 20)
notnull) go
insert
tz select
'lisa'
union
allselect
'mike'
union
allselect
'carla' go
/*--result
z_id z_name
-------------
1 lisa
2 mike
3 carla */
create
table ty ( y_id int
identity
( 2, 1)
primary
key, y_name varchar
( 20)
null) go
insert
ty select
'boathouse'
union
allselect
'rocks'
union
allselect
'elevator' go
/*--result
y_id y_name
---------------
1 boathouse
2 rocks
3 elevator */
-->2.
新建觸發器
ztrig
,定義在
tz 上插入資料,則同時在
ty 中插入一行
create
trigger ztrig on
tz forinsertas
begin
insert ty values(''
) end go
-->3.
插入一行資料
insert
tz values
('rosalie')
go -->4.
檢視返回不同的標識值
select
scope_identity
()as [scope_identity] go
select
@@identity
as [@@identity] go
/*--result
scope_identity
--------------------------------------- 4
(1 行受影響)
@@identity
--------------------------------------- 5
(1 行受影響)
*/ --drop table tz,ty
結果:@@identity
返回所有作用域的最後乙個標識值,而
scope_identity
只返回當前作用域的標識值。
建議:
在返回標識列序號時,如果一直在當前會話且是手動執行語句,可以選擇
scope_identity
或@@identity
函式;
在自動執行作業時,需要返回標識列應該優先選擇
ident_current
函式,因為自動執行作業可能不在乙個作用域中而且都是針對指定表返回標識值。
gevent獲取每次函式執行的返回值 (執行結果)
g list list for stock in stocks dbname daily data sz if stock 0 endswith sz else daily data sh get daily data 是乙個函式,後邊的都是此函式所需引數 g gevent.spawn get da...
jquery的 ajax返回值為中文時
用jquery的ajax,遇到個問題,伺服器端從資料庫取到的資料沒有出現中文亂碼問題 日誌打出來是沒有亂碼的 但是非同步傳到客戶的時候卻出現了亂碼。伺服器端已經編碼過了 utf 8編碼 開始一直懷疑是客戶端的問題,比如客戶端和伺服器端編碼不一致啊,也懷疑是不是jquery的ajax工具函式中少配了 ...
python定義函式時的預設返回值
python定義函式時,一般都會有指定返回值,如果沒有顯式指定返回值,那麼python就會預設返回值為none,即隱式返回語句 return none 執行如下 def now print 2018 03 20 直接執行函式的話,結果為 但是如果列印函式的話 print now 列印結果為 相當於執...