sql
set ansi_nulls on
goset quoted_identifier on
gocreate
trigger update_xmsx_after_update_xsxxb_xm
on dbo.xsxxb
after
update
--在更新資料時對錶中資料進行更新
asbegin
ifupdate
(xm)
--如果表中的xm欄位發生了更新,才執行對錶中xmsx欄位的更新
begin
-- set nocount on added to prevent extra result sets from
-- interfering with select statements.
set nocount on
;declare
@xsid
int,
@xmvarchar(50
);--定義變數 ,@xm 姓名 可變字串長度為五十 @xsid 學生id 整型變數
select
@xsid
=xsid,
@xm=xm from inserted;
--在執行插入的操作後,在inserted的臨時表中獲取xsid和xm,並將其賦給@xsid和@xm
update xsxxb set xmsx=dbo.pysxcx(
@xm)
where xsid=
@xsid
;-- 更新xsxxb中的資料,使用函式pysxcx在表hzpyb中查詢@xm對應的xmsx(姓名縮寫),
-- 並當@xsid 和xsxxb表中的xsid相同時,更新對應的xmsx
-- insert statements for trigger here
endelse
print
'沒有更新姓名,不對錶的xmsx進行更新'
endgo
use ssmstest --使用的資料庫名稱
goset ansi_nulls on
goset quoted_identifier on
gocreate
trigger update_xmsx_after_insert_xsxxb
on dbo.xsxxb
after
insert
--在插入資料後對xsxxb進行更新
asbegin
set nocount on
;declare
@xmvarchar(50
),@xsid
int;
--定義變數,@xm 姓名 可變字串長度為五十 @xsid 學生id 整型變數
select
@xsid
=xsid,
@xm=xm from inserted;
--在執行插入的操作後,在inserted的臨時表中獲取xsid和xm,並將其賦給@xsid和@xm
update xsxxb set xmsx=dbo.pysxcx(
@xm)
where xsid=
@xsid
;-- 更新xsxxb中的資料,使用函式pysxcx在表hzpyb中查詢@xm對應的xmsx(姓名縮寫),
-- 並當@xsid 和xsxxb表中的xsid相同時,更新對應的xmsx
end
SqlServer如何給表新增新的字段以及字段注釋
use 資料庫名 alter table 表名 add 欄位名 型別 預設值 是否為空 exec sp addextendedproperty n ms description n 注釋內容 n schema n dbo n table n 表名 n column n 欄位名 use gameage...
sqlserver給表加備註並檢視
一 給表加備註語句 比如給乙個叫test的表加乙個備註叫 測試 exec sys.sp addextendedproperty name n ms description level0type n schema level0name n dbo level1type n table 上述為系統寫死的...
SQL Server如何使用表變數
參考前乙個例項使用output儲存更新記錄前後資料 改用乙個表變數來實現。首先定義乙個表變數 declare salaryreport table memberid int name nvarchar 100 oldsalary decimal 18,6 newsalary decimal 18,6...