| 
	
 | 
 Posted by Tony Rogerson on 11/06/05 18:53 
Hi Mary, 
 
The SCOPE_IDENTITY() will return the last inserted IDENTITY value for that  
connection. 
 
insert into parent (parenttext) values (p); 
print scope_identity()    -- gives the id from parent 
 
insert into child (childtext) values (c); 
print scope_identity()    -- gives id from child 
 
Does that help? 
 
Tony. 
 
--  
Tony Rogerson 
SQL Server MVP 
http://sqlserverfaq.com - free video tutorials 
 
 
"Mary Walker" <123@123.com> wrote in message  
news:436cefc6$1_3@mk-nntp-2.news.uk.tiscali.com... 
> Hi, 
> 
> I'm enclosed a snippet of test code which highlights my problem.  The  
> Stored procedure insertValue should insert text into the parent, then  
> insert other text into the child table but the 2 tables should auto  
> increment in sync (i.e. so that they both end up with the same id  
> numbers).  I've tried taking the auto increment out of the child table but  
> then I don't know how to get the right parent id into the child table. 
> 
> Any advice appreciated - this is my first database, so I'm just in the  
> learning process really.  Code follows: 
> 
> CREATE TABLE Parent 
> (id INTEGER DEFAULT AUTOINCREMENT, 
> parenttext VARCHAR(16), 
> PRIMARY KEY (id))! 
> 
> CREATE TABLE Child 
> (childID INTEGER INTEGER DEFAULT AUTOINCREMENT, 
> childtext VARCHAR(16), 
> FOREIGN  KEY (childid) REFERENCES Parent(id), 
> PRIMARY KEY (childID))! 
> 
> CREATE PROCEDURE insertValues(in p VARCHAR(16), in c VARCHAR(16)) 
> BEGIN 
>   insert into parent (parenttext) values (p); 
>   insert into child (childtext) values (c); 
> END! 
> 
> call insertValues('from parent', 'from child')! 
> select * from parent, child where parent.id = child.childid! 
>
 
  
Navigation:
[Reply to this message] 
 |