![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
(This is the second time I have sent this. For some reason I never did see my thread on the server. If it appeared for you I apologize for the duplicate.) Hi I am struggling with creating an autoincremental key in my table in my SQL database. In the insert stored proc I have here I am trying to tell it to raise up the number for the value in the QUOTEACTIONID field. It is the primary key. I am actually using this stored procedure in a vb.net program using ADO.NET but I am told the incrementing should be done on the SQL side. In addition I created a table called COUNTER which I thought about inserting a higher number for each record added which the insert proc could then use to enter a value for QUOTEACTIONID. But more experienced folks told me this was a bad idea. Can anyone suggest something and thank you. CREATE PROCEDURE databaseexample.QuoteActionInsertCommand ( @QUOTEACTIONID int, @QUOTEACTIONDATE datetime, @QUOTEACTIONLOGINNAME varchar(50), @QUOTEACTIONIP varchar(50), @QUOTEACTIONCOMPNAME varchar(50), @QUOTEACTIONCOMPUSER varchar(50), @QUOTEACTIONUSERNAME varchar(50), @QUOTEACTIONQUOTENO int, @QUOTEACTIONQUOTEREL int, @QUOTEACTIONITEMNO int, @QUOTEACTIONITEMDESC varchar(50), @QUOTEACTIONITEMSTATUS varchar(50), @QUOTEACTIONITEMCOLOR varchar(50), @QUOTEACTIONITEMPRICE float, @QUOTEACTIONORDER varchar(50), @QUOTEACTIONCOMMENT varchar(250) ) AS SET NOCOUNT OFF; INSERT INTO dbo.QUOTEACTION(QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT) VALUES (@QUOTEACTIONID, @QUOTEACTIONDATE, @QUOTEACTIONLOGINNAME, @QUOTEACTIONIP, @QUOTEACTIONCOMPNAME, @QUOTEACTIONCOMPUSER, @QUOTEACTIONUSERNAME, @QUOTEACTIONQUOTENO, @QUOTEACTIONQUOTEREL, @QUOTEACTIONITEMNO, @QUOTEACTIONITEMDESC, @QUOTEACTIONITEMSTATUS, @QUOTEACTIONITEMCOLOR, @QUOTEACTIONITEMPRICE, @QUOTEACTIONORDER, @QUOTEACTIONCOMMENT); SELECT QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT FROM dbo.QUOTEACTION WHERE (QUOTEACTIONID = @QUOTEACTIONID) GO |
#4
| |||
| |||
|
|
Try, CREATE PROCEDURE databaseexample.QuoteActionInsertCommand ( @QUOTEACTIONDATE datetime, @QUOTEACTIONLOGINNAME varchar(50), @QUOTEACTIONIP varchar(50), @QUOTEACTIONCOMPNAME varchar(50), @QUOTEACTIONCOMPUSER varchar(50), @QUOTEACTIONUSERNAME varchar(50), @QUOTEACTIONQUOTENO int, @QUOTEACTIONQUOTEREL int, @QUOTEACTIONITEMNO int, @QUOTEACTIONITEMDESC varchar(50), @QUOTEACTIONITEMSTATUS varchar(50), @QUOTEACTIONITEMCOLOR varchar(50), @QUOTEACTIONITEMPRICE float, @QUOTEACTIONORDER varchar(50), @QUOTEACTIONCOMMENT varchar(250), @QUOTEACTIONID int output ) AS SET NOCOUNT OFF; INSERT INTO dbo.QUOTEACTION(QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT) VALUES (@QUOTEACTIONID, @QUOTEACTIONDATE, @QUOTEACTIONLOGINNAME, @QUOTEACTIONIP, @QUOTEACTIONCOMPNAME, @QUOTEACTIONCOMPUSER, @QUOTEACTIONUSERNAME, @QUOTEACTIONQUOTENO, @QUOTEACTIONQUOTEREL, @QUOTEACTIONITEMNO, @QUOTEACTIONITEMDESC, @QUOTEACTIONITEMSTATUS, @QUOTEACTIONITEMCOLOR, @QUOTEACTIONITEMPRICE, @QUOTEACTIONORDER, @QUOTEACTIONCOMMENT); if @@error = 0 begin set @quoteactionid = scope_identity( ) SELECT QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT FROM dbo.QUOTEACTION WHERE (QUOTEACTIONID = @QUOTEACTIONID) return @@error end else return 1 GO Let sql server to generate the identity value and add an output parameter to the command parameters collection to get the value of the identity. AMB "scorpion53061" wrote: (This is the second time I have sent this. For some reason I never did see my thread on the server. If it appeared for you I apologize for the duplicate.) Hi I am struggling with creating an autoincremental key in my table in my SQL database. In the insert stored proc I have here I am trying to tell it to raise up the number for the value in the QUOTEACTIONID field. It is the primary key. I am actually using this stored procedure in a vb.net program using ADO.NET but I am told the incrementing should be done on the SQL side. In addition I created a table called COUNTER which I thought about inserting a higher number for each record added which the insert proc could then use to enter a value for QUOTEACTIONID. But more experienced folks told me this was a bad idea. Can anyone suggest something and thank you. CREATE PROCEDURE databaseexample.QuoteActionInsertCommand ( @QUOTEACTIONID int, @QUOTEACTIONDATE datetime, @QUOTEACTIONLOGINNAME varchar(50), @QUOTEACTIONIP varchar(50), @QUOTEACTIONCOMPNAME varchar(50), @QUOTEACTIONCOMPUSER varchar(50), @QUOTEACTIONUSERNAME varchar(50), @QUOTEACTIONQUOTENO int, @QUOTEACTIONQUOTEREL int, @QUOTEACTIONITEMNO int, @QUOTEACTIONITEMDESC varchar(50), @QUOTEACTIONITEMSTATUS varchar(50), @QUOTEACTIONITEMCOLOR varchar(50), @QUOTEACTIONITEMPRICE float, @QUOTEACTIONORDER varchar(50), @QUOTEACTIONCOMMENT varchar(250) ) AS SET NOCOUNT OFF; INSERT INTO dbo.QUOTEACTION(QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT) VALUES (@QUOTEACTIONID, @QUOTEACTIONDATE, @QUOTEACTIONLOGINNAME, @QUOTEACTIONIP, @QUOTEACTIONCOMPNAME, @QUOTEACTIONCOMPUSER, @QUOTEACTIONUSERNAME, @QUOTEACTIONQUOTENO, @QUOTEACTIONQUOTEREL, @QUOTEACTIONITEMNO, @QUOTEACTIONITEMDESC, @QUOTEACTIONITEMSTATUS, @QUOTEACTIONITEMCOLOR, @QUOTEACTIONITEMPRICE, @QUOTEACTIONORDER, @QUOTEACTIONCOMMENT); SELECT QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT FROM dbo.QUOTEACTION WHERE (QUOTEACTIONID = @QUOTEACTIONID) GO |
#5
| |||
| |||
|
|
Correction, I forgot to take off column QUOTEACTIONID from the insert. CREATE PROCEDURE databaseexample.QuoteActionInsertCommand ( @QUOTEACTIONDATE datetime, @QUOTEACTIONLOGINNAME varchar(50), @QUOTEACTIONIP varchar(50), @QUOTEACTIONCOMPNAME varchar(50), @QUOTEACTIONCOMPUSER varchar(50), @QUOTEACTIONUSERNAME varchar(50), @QUOTEACTIONQUOTENO int, @QUOTEACTIONQUOTEREL int, @QUOTEACTIONITEMNO int, @QUOTEACTIONITEMDESC varchar(50), @QUOTEACTIONITEMSTATUS varchar(50), @QUOTEACTIONITEMCOLOR varchar(50), @QUOTEACTIONITEMPRICE float, @QUOTEACTIONORDER varchar(50), @QUOTEACTIONCOMMENT varchar(250), @QUOTEACTIONID int output ) AS SET NOCOUNT OFF; INSERT INTO dbo.QUOTEACTION(QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT) VALUES (@QUOTEACTIONDATE, @QUOTEACTIONLOGINNAME, @QUOTEACTIONIP, @QUOTEACTIONCOMPNAME, @QUOTEACTIONCOMPUSER, @QUOTEACTIONUSERNAME, @QUOTEACTIONQUOTENO, @QUOTEACTIONQUOTEREL, @QUOTEACTIONITEMNO, @QUOTEACTIONITEMDESC, @QUOTEACTIONITEMSTATUS, @QUOTEACTIONITEMCOLOR, @QUOTEACTIONITEMPRICE, @QUOTEACTIONORDER, @QUOTEACTIONCOMMENT); if @@error = 0 begin set @quoteactionid = scope_identity( ) SELECT QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT FROM dbo.QUOTEACTION WHERE (QUOTEACTIONID = @QUOTEACTIONID) return @@error end else return 1 GO AMB "Alejandro Mesa" wrote: Try, CREATE PROCEDURE databaseexample.QuoteActionInsertCommand ( @QUOTEACTIONDATE datetime, @QUOTEACTIONLOGINNAME varchar(50), @QUOTEACTIONIP varchar(50), @QUOTEACTIONCOMPNAME varchar(50), @QUOTEACTIONCOMPUSER varchar(50), @QUOTEACTIONUSERNAME varchar(50), @QUOTEACTIONQUOTENO int, @QUOTEACTIONQUOTEREL int, @QUOTEACTIONITEMNO int, @QUOTEACTIONITEMDESC varchar(50), @QUOTEACTIONITEMSTATUS varchar(50), @QUOTEACTIONITEMCOLOR varchar(50), @QUOTEACTIONITEMPRICE float, @QUOTEACTIONORDER varchar(50), @QUOTEACTIONCOMMENT varchar(250), @QUOTEACTIONID int output ) AS SET NOCOUNT OFF; INSERT INTO dbo.QUOTEACTION(QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT) VALUES (@QUOTEACTIONID, @QUOTEACTIONDATE, @QUOTEACTIONLOGINNAME, @QUOTEACTIONIP, @QUOTEACTIONCOMPNAME, @QUOTEACTIONCOMPUSER, @QUOTEACTIONUSERNAME, @QUOTEACTIONQUOTENO, @QUOTEACTIONQUOTEREL, @QUOTEACTIONITEMNO, @QUOTEACTIONITEMDESC, @QUOTEACTIONITEMSTATUS, @QUOTEACTIONITEMCOLOR, @QUOTEACTIONITEMPRICE, @QUOTEACTIONORDER, @QUOTEACTIONCOMMENT); if @@error = 0 begin set @quoteactionid = scope_identity( ) SELECT QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT FROM dbo.QUOTEACTION WHERE (QUOTEACTIONID = @QUOTEACTIONID) return @@error end else return 1 GO Let sql server to generate the identity value and add an output parameter to the command parameters collection to get the value of the identity. AMB "scorpion53061" wrote: (This is the second time I have sent this. For some reason I never did see my thread on the server. If it appeared for you I apologize for the duplicate.) Hi I am struggling with creating an autoincremental key in my table in my SQL database. In the insert stored proc I have here I am trying to tell it to raise up the number for the value in the QUOTEACTIONID field. It is the primary key. I am actually using this stored procedure in a vb.net program using ADO.NET but I am told the incrementing should be done on the SQL side. In addition I created a table called COUNTER which I thought about inserting a higher number for each record added which the insert proc could then use to enter a value for QUOTEACTIONID. But more experienced folks told me this was a bad idea. Can anyone suggest something and thank you. CREATE PROCEDURE databaseexample.QuoteActionInsertCommand ( @QUOTEACTIONID int, @QUOTEACTIONDATE datetime, @QUOTEACTIONLOGINNAME varchar(50), @QUOTEACTIONIP varchar(50), @QUOTEACTIONCOMPNAME varchar(50), @QUOTEACTIONCOMPUSER varchar(50), @QUOTEACTIONUSERNAME varchar(50), @QUOTEACTIONQUOTENO int, @QUOTEACTIONQUOTEREL int, @QUOTEACTIONITEMNO int, @QUOTEACTIONITEMDESC varchar(50), @QUOTEACTIONITEMSTATUS varchar(50), @QUOTEACTIONITEMCOLOR varchar(50), @QUOTEACTIONITEMPRICE float, @QUOTEACTIONORDER varchar(50), @QUOTEACTIONCOMMENT varchar(250) ) AS SET NOCOUNT OFF; INSERT INTO dbo.QUOTEACTION(QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT) VALUES (@QUOTEACTIONID, @QUOTEACTIONDATE, @QUOTEACTIONLOGINNAME, @QUOTEACTIONIP, @QUOTEACTIONCOMPNAME, @QUOTEACTIONCOMPUSER, @QUOTEACTIONUSERNAME, @QUOTEACTIONQUOTENO, @QUOTEACTIONQUOTEREL, @QUOTEACTIONITEMNO, @QUOTEACTIONITEMDESC, @QUOTEACTIONITEMSTATUS, @QUOTEACTIONITEMCOLOR, @QUOTEACTIONITEMPRICE, @QUOTEACTIONORDER, @QUOTEACTIONCOMMENT); SELECT QUOTEACTIONID, QUOTEACTIONDATE, QUOTEACTIONLOGINNAME, QUOTEACTIONIP, QUOTEACTIONCOMPNAME, QUOTEACTIONCOMPUSER, QUOTEACTIONUSERNAME, QUOTEACTIONQUOTENO, QUOTEACTIONQUOTEREL, QUOTEACTIONITEMNO, QUOTEACTIONITEMDESC, QUOTEACTIONITEMSTATUS, QUOTEACTIONITEMCOLOR, QUOTEACTIONITEMPRICE, QUOTEACTIONORDER, QUOTEACTIONCOMMENT FROM dbo.QUOTEACTION WHERE (QUOTEACTIONID = @QUOTEACTIONID) GO |
![]() |
| Thread Tools | |
| Display Modes | |
| |