如何在插入触发器SQL Server中的变量中使用插入表?

用户名

我想使用查询变量中的插入表在插入时创建触发器,如下所示

SET @strTemp = 'INSERT INTO '+@LeadTable+'(service_id,
batch_no,
phone1,
userid,
tt_no
,complaint_id) 
select inserted.ProcId,''' + @szBatchName + ''',Right(inserted.Phone,11),inserted.UserId,inserted.TtNo,inserted.ComplaintId from inserted'

此代码未在目标表中插入数据。我想知道如何实现这一目标?请帮忙。谢谢你


这是我的实际代码bt它不起作用

USE [LeadDTB]

alter TRIGGER [dbo].[Push_SibelRealTimeData]
on [dbo].[SibelRealTimeData]
After Insert
AS
BEGIN

DECLARE @szProcId   varchar(20)
DECLARE @szUserId   varchar(50)
DECLARE @szTtNo varchar(15)
DECLARE @szComplaintId  varchar(50)
DECLARE @szPhone varchar(50)
Declare @szBatchName varchar(50)
Declare @LeadDB varchar(50)
Declare @LeadTable varchar(50)
Declare @strTemp varchar(max)
Declare @nBatchCount int
declare @szdialTime varchar(50)

CREATE TABLE #tmTable (id int,procid varchar(50),uid varchar(50),ttno varchar(50),complaintid  varchar(50),phone varchar(50))

select * into #tmTable from inserted 

select @szdialTime = DATEADD(HOUR, 1, GETDATE())

set @szBatchName = 'SIBELRT_'+CONVERT(varchar(5), right(Year(GETDATE()),2))+Convert(varchar(5),MONTH(GETDATE()))

select @LeadDB =  service_db_name from services where service_id =@szProcId

set @LeadTable = @LeadDB+'..LEAD_MASTER_' + @szProcId

SET @strTemp = 'INSERT INTO '+@LeadTable+'(
service_id,
lead_import_batch_id, 
lead_phone1,
userid,
tgs_tt_no,
lead_complaint_id
) 
select 
procid,
''' + @szBatchName + ''',
Right(phone,11),
uid,
ttno,
complaintid from #tmTable '

EXEC(@strTemp)

drop table #tmtable

END

该代码不起作用

普雷迪普
SELECT *
INTO   #temp
FROM   inserted

SET @strTemp = 'INSERT INTO ' + @LeadTable
               + '(service_id,
                   batch_no,
                   phone1,
                   userid,
                   tt_no,
                   complaint_id) 
select ProcId,''' + @szBatchName
               + ''',Right(Phone,11),UserId,TtNo,ComplaintId from #temp' 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们如何在 SQL Server 2012 的触发器中使用会话值并插入到表中?

来自分类Dev

如何在sql触发器中使用插入语句中的变量

来自分类Dev

如何在SQL Server触发器中识别操作类型(插入,更新,删除)

来自分类Dev

在SQL Server中插入触发器

来自分类Dev

如何在SQL Server中使用触发器将记录从一个表插入到另一个表?

来自分类Dev

如何在触发器中停止插入动作

来自分类Dev

如何在更新触发器中插入?

来自分类Dev

如何在插入和更新上使用触发器?

来自分类Dev

插入前的 SQL Server 触发器

来自分类Dev

SQL Server 插入触发器多次插入

来自分类Dev

如果触发器中存在条件,如何在MySQL表中插入记录

来自分类Dev

如果触发器中存在条件,如何在MySQL表中插入记录

来自分类Dev

插入触发器之前的SQL

来自分类Dev

SQL触发器-更新/插入

来自分类Dev

SQL AFTER插入更新触发器

来自分类Dev

PL/SQL 触发器防止插入

来自分类Dev

SQL 选择插入触发器

来自分类Dev

如何在MySQL中使用更新/插入为删除之前/之后创建触发器?

来自分类Dev

如何在MyBatis插入中使用Mysql触发器生成的值填充对象属性

来自分类Dev

如何在游标中使用NEW值(在插入触发器MySQL之后)

来自分类Dev

Oracle-如何在两个表之间使用“插入后”触发器?

来自分类Dev

如何获取插入的表标识而不是插入触发器?

来自分类Dev

如何获取插入的表标识而不是插入触发器?

来自分类Dev

在SQL Server中插入/删除/更新触发器

来自分类Dev

如何在SQL Server触发器中执行IF检查

来自分类Dev

如何在sql server中实现删除触发器

来自分类Dev

如何在 SQL Server 中使用触发器更新外键引用表?

来自分类Dev

如何获取触发器的插入值

来自分类Dev

如何编写插入,更新触发器

Related 相关文章

  1. 1

    我们如何在 SQL Server 2012 的触发器中使用会话值并插入到表中?

  2. 2

    如何在sql触发器中使用插入语句中的变量

  3. 3

    如何在SQL Server触发器中识别操作类型(插入,更新,删除)

  4. 4

    在SQL Server中插入触发器

  5. 5

    如何在SQL Server中使用触发器将记录从一个表插入到另一个表?

  6. 6

    如何在触发器中停止插入动作

  7. 7

    如何在更新触发器中插入?

  8. 8

    如何在插入和更新上使用触发器?

  9. 9

    插入前的 SQL Server 触发器

  10. 10

    SQL Server 插入触发器多次插入

  11. 11

    如果触发器中存在条件,如何在MySQL表中插入记录

  12. 12

    如果触发器中存在条件,如何在MySQL表中插入记录

  13. 13

    插入触发器之前的SQL

  14. 14

    SQL触发器-更新/插入

  15. 15

    SQL AFTER插入更新触发器

  16. 16

    PL/SQL 触发器防止插入

  17. 17

    SQL 选择插入触发器

  18. 18

    如何在MySQL中使用更新/插入为删除之前/之后创建触发器?

  19. 19

    如何在MyBatis插入中使用Mysql触发器生成的值填充对象属性

  20. 20

    如何在游标中使用NEW值(在插入触发器MySQL之后)

  21. 21

    Oracle-如何在两个表之间使用“插入后”触发器?

  22. 22

    如何获取插入的表标识而不是插入触发器?

  23. 23

    如何获取插入的表标识而不是插入触发器?

  24. 24

    在SQL Server中插入/删除/更新触发器

  25. 25

    如何在SQL Server触发器中执行IF检查

  26. 26

    如何在sql server中实现删除触发器

  27. 27

    如何在 SQL Server 中使用触发器更新外键引用表?

  28. 28

    如何获取触发器的插入值

  29. 29

    如何编写插入,更新触发器

热门标签

归档