Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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 server 如何在sql server中插入后立即获取表记录_Sql Server - Fatal编程技术网

Sql server 如何在sql server中插入后立即获取表记录

Sql server 如何在sql server中插入后立即获取表记录,sql-server,Sql Server,我正在处理sql查询,我将在名为files的表中插入记录,该表具有fieldsID,Name 我希望在成功插入记录之后立即从表文件中获取所有记录。为此,我编写了以下存储过程 USE [sps] GO /****** Object: StoredProcedure [dbo].[SP_InsTestFile] Script Date: 25-05-2015 11:21:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO

我正在处理sql查询,我将在名为files的表中插入记录,该表具有fieldsID,Name

我希望在成功插入记录之后立即从表文件中获取所有记录。为此,我编写了以下存储过程

USE [sps]
GO
/****** Object:  StoredProcedure [dbo].[SP_InsTestFile]    
Script Date: 25-05-2015 11:21:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[SP_InsTestFile]
@ID int,
@Name varchar(50)
as
begin try
insert into filess(Name) values (@Name)
Declare @IDD int=@@IDENTITY
select 'y'

IF(@IDD>0)
BEGIN

    select * from filess
END
ELSE
BEGIN
    select 'n'
END
 --select 'Y'
  end try
   begin catch
   select 'X'
  end catch

但存储过程中的查询在成功插入后只返回“y”,但我需要表文件中的所有记录以及值y或n。请帮助我。

您可以从proc返回Y'或N作为out参数,并使用select命令来获取表记录。

希望files表没有ID列的标识

请参见下面的两个示例,以了解列的标识与不标识的区别

表列,将@标识返回为null

表列,返回@标识的有效数字


所以,如果@IDENTITY返回null,那么IF@IDD>0失败,不再执行。

在SSMS中查找执行该过程的输出条款?是,该过程正在SSMS中运行。是否确认filess表的ID列包含标识?能否与我们共享filess表的表结构