Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Database & SysAdmin
  3. Database
  4. storing only single value in primary key table and storing multiple values in foreign key table

storing only single value in primary key table and storing multiple values in foreign key table

Scheduled Pinned Locked Moved Database
tutorial
3 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    developerit
    wrote on last edited by
    #1

    CREATE PROCEDURE .InsertTwoTables @UserName nvarchar(50), @ShopName nvarchar(50), @Email nvarchar(300) , @time1 datetime, @CategoryNameE nvarchar(50), @ItemKey nvarchar(50), @ItemKeyNameE nvarchar(50), @CurrentQty nvarchar(50), @SalesPrice nvarchar(50), @Quantity nvarchar(50), @Total nvarchar(50) AS BEGIN TRANSACTION Set Nocount On DECLARE @OrderID int //primary key table INSERT INTO TblOrder(UserName, ShopName, Email,time1) VALUES (@UserName,@ShopName, @Email,@time1) SELECT @OrderID=@@IDENTITY //foreign key table INSERT INTO TblDetails (OrderNo, CategoryNameE , ItemKey ,ItemKeyNameE , CurrentQty, SalesPrice, Quantity , total) VALUES (@OrderID, @CategoryNameE , @ItemKey, @ItemKeyNameE, @CurrentQty, @SalesPrice, @Quantity , @Total) COMMIT when iam inserting values with these procedure it is saving ordersno also repeated i want one orderid with multiple values in TblDetails can you give me example which helps me

    C A 2 Replies Last reply
    0
    • D developerit

      CREATE PROCEDURE .InsertTwoTables @UserName nvarchar(50), @ShopName nvarchar(50), @Email nvarchar(300) , @time1 datetime, @CategoryNameE nvarchar(50), @ItemKey nvarchar(50), @ItemKeyNameE nvarchar(50), @CurrentQty nvarchar(50), @SalesPrice nvarchar(50), @Quantity nvarchar(50), @Total nvarchar(50) AS BEGIN TRANSACTION Set Nocount On DECLARE @OrderID int //primary key table INSERT INTO TblOrder(UserName, ShopName, Email,time1) VALUES (@UserName,@ShopName, @Email,@time1) SELECT @OrderID=@@IDENTITY //foreign key table INSERT INTO TblDetails (OrderNo, CategoryNameE , ItemKey ,ItemKeyNameE , CurrentQty, SalesPrice, Quantity , total) VALUES (@OrderID, @CategoryNameE , @ItemKey, @ItemKeyNameE, @CurrentQty, @SalesPrice, @Quantity , @Total) COMMIT when iam inserting values with these procedure it is saving ordersno also repeated i want one orderid with multiple values in TblDetails can you give me example which helps me

      C Offline
      C Offline
      Corporal Agarn
      wrote on last edited by
      #2

      The way the stored procedure is currently there will only be a one to one relationship. I would suggest removing the time from TblOrder then before an insert check to see if the values UserName, ShopName, Email already exist. Something like (not tested)

      DECLARE @there INT
      SELECT * FROM TblOrder
      WHERE UserName = @username
      AND ShopName = @shopname
      AND Email = @email
      SET @there = @@rowcount
      IF @there = 0
      BEGIN
      -- Your insert
      END

      Hope this helps djj

      1 Reply Last reply
      0
      • D developerit

        CREATE PROCEDURE .InsertTwoTables @UserName nvarchar(50), @ShopName nvarchar(50), @Email nvarchar(300) , @time1 datetime, @CategoryNameE nvarchar(50), @ItemKey nvarchar(50), @ItemKeyNameE nvarchar(50), @CurrentQty nvarchar(50), @SalesPrice nvarchar(50), @Quantity nvarchar(50), @Total nvarchar(50) AS BEGIN TRANSACTION Set Nocount On DECLARE @OrderID int //primary key table INSERT INTO TblOrder(UserName, ShopName, Email,time1) VALUES (@UserName,@ShopName, @Email,@time1) SELECT @OrderID=@@IDENTITY //foreign key table INSERT INTO TblDetails (OrderNo, CategoryNameE , ItemKey ,ItemKeyNameE , CurrentQty, SalesPrice, Quantity , total) VALUES (@OrderID, @CategoryNameE , @ItemKey, @ItemKeyNameE, @CurrentQty, @SalesPrice, @Quantity , @Total) COMMIT when iam inserting values with these procedure it is saving ordersno also repeated i want one orderid with multiple values in TblDetails can you give me example which helps me

        A Offline
        A Offline
        Ashfield
        wrote on last edited by
        #3

        Try using SCOPE_IDENTITY rather than IDENTITY - check BOL for the (significant) differences.

        Bob Ashfield Consultants Ltd

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups