Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用新数据更新存储过程中的表_Sql_Sql Server_Tsql_Stored Procedures_Sql Server 2012 - Fatal编程技术网

Sql 使用新数据更新存储过程中的表

Sql 使用新数据更新存储过程中的表,sql,sql-server,tsql,stored-procedures,sql-server-2012,Sql,Sql Server,Tsql,Stored Procedures,Sql Server 2012,我有一个存储过程,我将3个参数传递给它,并将整个过程导出到这个表中,我们称之为dbo.myFinalTable。我想实现两件事: 任务#1: 我需要在使用传递的任何参数再次执行过程时追加数据 我尝试在最后一次表创建结束时添加这个,但总行数保持不变。有什么办法 IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'myDatabase'

我有一个存储过程,我将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
;这些列的数据是从存储过程传递的,在本例中,值
'123'
'2013-03-14'
)没有这些值的情况下追加数据

注意:我的过程声明如下所示:

alter procedure [myStoredProcedure]
    (@theString varchar (30),
     @id varchar (10),
     @theDate date)

如果我理解你的目标,这可能是一个疑问:

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)

您好,您能发布dbo.FinalTable的结果吗@CM2K重要的列是日期和id,其余的只是一些计算值。无法发布我的真实表,这是您的存储过程
alter-procedure[myStoredProcedure](@theString-varchar(30),@id-varchar(10),@theDate-date)
@cm2k但您的存储过程中没有查询?只有变量。没有使用变量的
Select语句
@CM2K