Sql server 如何在sql server中插入后立即获取表记录
我正在处理sql查询,我将在名为files的表中插入记录,该表具有fieldsID,Name 我希望在成功插入记录之后立即从表文件中获取所有记录。为此,我编写了以下存储过程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
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表的表结构