我有一个存储过程,我将3个参数传递给,并导出该表中的所有内容,让我们称之为dbo.myFinalTable
。我想实现两件事:
任务#1:
当我使用我正在传递的任何参数再次执行该过程时,我需要附加数据。
我尝试在最终的表创建结束时添加它,但总行数保持不变。有什么可做的?
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'myDatabase'
AND TABLE_NAME = 'dbo.myFinalTable'))
BEGIN
INSERT INTO dbo.myFinalTable
SELECT
someValues
FROM #tempInWhichIcalulate
ORDER BY someOtherStuff
END
任务#2:
我这样执行:
execute [myStoredProcedure] 'someString', '123', '2013-03-14'
我希望上面的查询仅在列id
和theDate
(来自dbo.MyFinalTable
时附加数据;这些列的数据是从存储过程传递的,在此示例中为值{ {1}},'123'
)已经没有那些值。
注意:我的程序声明如下:
'2013-03-14'
答案 0 :(得分:0)
如果我了解你的目标,可能是查询:
insert into dbo.myFinalTable
select
@theString as MyString,
@id as MyId,
@theDate as MyDate
where not exists(select * from dbo.myFinalTable
where MyId = @id
and MyDate = @theDate)