我正在编写一个存储过程,它的主要目的是插入到表中。
过程将通过证书签名,并发送电子邮件通知。
过程将接受用户定义的table-variable作为参数,并将其内容插入持久表中。
以下是几个问题:
lock_escalation事件?更新:添加了简化的过程代码:
create procedure InsertIntoTable (@_TableData TableData readonly)
as begin
-- lets use intermediate temp table
drop table if exists #InsertIntoTable
create table #InsertIntoTable (
column1 bigint,
column2 varchar(50),
column3 smallint,
column4 datetime,
column5 tinyint,
column6 datetime,
column7 varchar(500)
)
-- insert from table-variable into temp table
insert into #InsertIntoTable (column1, column2, column3, column4, column5, column6, column7)
select
column1,
column2,
column3,
column4,
column5,
column6,
column7
from @_TableData
-- let's do the actual insert
insert into Database..Table (column1, column2, column3, column4, column5, column6, column7)
select
column1,
column2,
column3,
column4,
column5,
column6,
column7
from #InsertIntoTable
end发布于 2021-12-22 21:00:01
由于需要先填充表变量,然后将其传递给存储过程,除非该过程比您发布的要做的更多,那么为什么不直接填充表呢?跳过使用表变量和sproc?
https://dba.stackexchange.com/questions/305042
复制相似问题