關於sqlserver臨時表的問題,請教高手

時間 2021-08-30 10:44:01

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可能已經被人刪掉了...