Sql 如何将StoredProc结果插入表中,但指定不同的日期

Sql 如何将StoredProc结果插入表中,但指定不同的日期,sql,tsql,getdate,Sql,Tsql,Getdate,我正在执行一个存储过程,并希望将结果存储到现有表中。问题是,接收结果的表需要同时插入当前日期 下面的代码显然不起作用,但这正是我想要做的 INSERT INTO [schema].[Table] ([column1] ,[column2] ,[column3] ,[column4] ,[DateColumn]) VALUES(

我正在执行一个存储过程,并希望将结果存储到现有表中。问题是,接收结果的表需要同时插入当前日期

下面的代码显然不起作用,但这正是我想要做的

    INSERT INTO [schema].[Table]
               ([column1]
               ,[column2]
               ,[column3]
               ,[column4]
               ,[DateColumn])
    VALUES(
        EXEC('schema.StoredProc'), 
        GETDATE()
    )

将“日期”列更改为具有默认值:

alter table [schema].[Table] add constraint def_table_column default getdate() for datecolumn;
然后执行插入操作:

INSERT INTO [schema].[Table]([column1], [column2], [column3], [column4])
    EXEC 'schema.StoredProc' ;

将“日期”列更改为具有默认值:

alter table [schema].[Table] add constraint def_table_column default getdate() for datecolumn;
然后执行插入操作:

INSERT INTO [schema].[Table]([column1], [column2], [column3], [column4])
    EXEC 'schema.StoredProc' ;

寻求替代解决方案; 您可以使用表值函数而不是过程

INSERT INTO  [schema].[Table]
               ([column1]
               ,[column2]
               ,[column3]
               ,[column4]
               ,[DateColumn])
SELECT *,GETDATE() FROM dbo.fn_YourFunction()

寻求替代解决方案; 您可以使用表值函数而不是过程

INSERT INTO  [schema].[Table]
               ([column1]
               ,[column2]
               ,[column3]
               ,[column4]
               ,[DateColumn])
SELECT *,GETDATE() FROM dbo.fn_YourFunction()
请试试这个

If Object_Id('tempdb.dbo.#Tmp_datatable') Is Not NULL
Begin
    Drop Table dbo.#Tmp_datatable
End

INSERT Tmp_datatable EXEC('schema.StoredProc')

INSERT INTO  [schema].[Table]
           ([column1]
           ,[column2]
           ,[column3]
           ,[column4]
           ,[DateColumn])
SELECT *,GETDATE() FROM Tmp_datatable 
您还可以对临时表执行其他操作。

请尝试此操作

If Object_Id('tempdb.dbo.#Tmp_datatable') Is Not NULL
Begin
    Drop Table dbo.#Tmp_datatable
End

INSERT Tmp_datatable EXEC('schema.StoredProc')

INSERT INTO  [schema].[Table]
           ([column1]
           ,[column2]
           ,[column3]
           ,[column4]
           ,[DateColumn])
SELECT *,GETDATE() FROM Tmp_datatable 

您还可以对临时表执行其他操作。

我收到消息:关键字“default”附近的语法不正确。@blacksaibot用于添加默认约束的命令是[columnname]@Mattgb的ALTER table[schema].[tablename]ADD constraint[name of constraint]default getdate()。非常感谢你。其他数据库允许在该上下文中使用
default
。我忘记了并非所有人都这样做。我得到的信息是:关键字“default”附近的语法不正确。@blacksaibot用于添加默认约束的命令是[columnname]@Mattgb的ALTER TABLE[schema].[tablename]ADD constraint[name of constraint]default getdate()。非常感谢你。其他数据库允许在该上下文中使用
default
。我忘了不是所有人都这么做。很好。非常感谢。现在我遇到了一个新问题。我的存储过程(对链接的DB2服务器执行openquery)返回的是查询,而不是查询结果。“输出”窗口显示我的SP的查询文本,并给出消息“当前命令出现严重错误。如果有结果,应丢弃。”很好。非常感谢。现在我遇到了一个新问题。我的存储过程(对链接的DB2服务器执行openquery)返回的是查询,而不是查询结果。“输出”窗口显示my SP的查询文本,并给出消息“当前命令出现严重错误。如果有结果,应丢弃。”