1樓:匿名使用者
string strsql = "select @userid,@usernm into #pro_set";
//執行建立臨時表的sql
com.executenonquery();
//這裡呼叫了一個更新或追加的sql
---》
string strsql = "select @userid,@usernm into #pro_set";
這裡拼接哪個呼叫更新或追加的sql,使其與該臨時表保持在同一個會話當中
com.executenonquery();
2樓:
回頭你補上一萬分吧!還不起就等幾年你水平夠了進我團隊打工償還。(*^__^*) ……
第一:都不用看,你們就把設計概要給理解錯了。
以上只是一些較為簡單的實現方式。所以更新登入名等資訊用觸發器根本就是劣質的。
當下普遍用edm 更新實體的方式,形式較為簡潔,基本對更改過的實體進行更新。
如下這個,只是在跨區域跨範圍使用。採用了觸發器。
use [edwindw]
goset ansi_nulls on
goset quoted_identifier on
goalter trigger [dbo].[tri_cu_cashflow] on [dbo].[cashflow] after update
as begin
update m
set m.loginpc=n.loginpc,
m.loginname=n.loginname
from [dbo].[cashflow] m
inner join
(select rid,loginpc,loginname from [dbo].[cu_rlog] a
inner join
(select max(id) as id from [dbo].[cu_rlog] b group by rid
) c on(a.id=c.id)
) n on (convert(binary(16),m.%%physloc%%)=n.rid)
inner join inserted f on(m.cashno=f.cashno)
enddeclare @cashno nvarchar(50) set @cashno='c13081200006'
declare @loginpc nvarchar(50) set @loginpc='krook'
declare @loginname nvarchar(50) set @loginname='krook'
------------------------------
--定期刪除臨時表任務
------------------------------
--模擬所謂的臨時表
insert into [dbo].[cu_rlog]
select
convert(binary(16),a.%%physloc%%),getdate(),@loginpc,@loginname
from [dbo].[cashflow] a
where a.cashno=@cashno
--更新操作
update [dbo].[cashflow]
set cashno=cashno
where cashno=@cashno
--驗證判斷
select * from [dbo].[cashflow];
以上只是樣例,實際都是自己制定主鍵方式的。
3樓:下揚州啊
那就在exec之前做,不再觸發器裡面做
關於sqlserver標識規範自動編號的問題
sql server 通過 identity 來設定 引數有2個,一個是 初始值 一個是 增量 預設情況下 insert 語句中,不能對 identity 的欄位進行賦值。identity只能在如下情況下建立 在建立表時建立新的identity列 在現有表中建立新的identity列 不能 把已經存...
sqlserver資料庫表索引查詢效率問題
sqlserver的主鍵預設是聚集索引,如果你還需要查詢什麼資料,也可以建立非聚集索引,但是你要注意,非聚集索引需要佔額外的儲存空間,而且是用時間長了容易產生索引碎片。所以比較好的索引建立準則是 用來做表連線的id列上鍵非聚集索引,真正用來查詢資料內容的列上建立聚集索引。 殳英光 你確定使用到索引了...
SQL SERVER自增資料表,如何查詢自增值的最大值
使用max函式即可。如 id name 1 張三 2 李四 3 王五 4 趙六 5 孫七 其中id是自增欄位。使用sql語句如下 select max id id from 表名 結果顯示為5,則5就是這個自增欄位的最大值。問題補充 比如,現在資料庫裡邊這個自增欄位存在的值是5,6可能已經被人刪掉了...