I know, is a very basic question, but I am in the process of re-learning sql stored procedures, and this is what happended:
I was practicing with some simple delete / insert routines, when encountered with this: if I ONLY insert records:
all is ok, then I call a delete procedure, passing the colum_ID to identify the record and delete it.
This is done correctly and all is OK
Then I call a insert procedure once again and the insert happens like this:
5. snake **now this is wrong, right?**
.. should be here...
And of i delete lets say records 2 and 3, and call the insert procedure for 2 new records, ir will "fill out" those positions and the third record will be at the bottom, where it should be.
The stored procedures are very basic: Insert
USE [Test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[InsertData] @name varchar(50), @lastname varchar(50) AS BEGIN SET NOCOUNT ON; insert into dbo.names (name,last_name) values(@name,@lastname) select * from dbo.names END
USE [Test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[DeleteData] @id_record int AS BEGIN SET NOCOUNT ON; delete from dbo.names where id_record = @id_record SELECT * from dbo.names END
So, what is causing this behavior, the table is very basic, but is compliant with Pkeys, not nulls, indexes, identity
I am using SQL server 2008.