How to gei Last ID

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Marko

    How to gei Last ID

    When I write new record with INSERT INTO i need to get ID (Autonumber, key
    of this table) from this, just written record. How to do that in ASP.NET (VB
    or C#) and SQL Server?

    Thanks


  • Microsoft Newsserver

    #2
    Re: How to gei Last ID


    select @@identity

    or

    select scope_identity( )


    "Marko" <marko_a@hotmai l.comwrote in message
    news:fua46k$8qd $1@sunce.iskon. hr...
    When I write new record with INSERT INTO i need to get ID (Autonumber, key
    of this table) from this, just written record. How to do that in ASP.NET
    (VB or C#) and SQL Server?
    >
    Thanks
    >

    Comment

    • Marc Gravell

      #3
      Re: How to gei Last ID

      How are you doing the INSERTs? Basically, you just want to look at
      SCOPE_IDENTITY( ) immediately after the INSERT; you could SELECT it, you
      could RETURN it, or you could SET it into an OUT variable (I favor the
      latter). In older versions of SQL-Server, @@IDENTITY is a fallback, but
      suffers with triggers.

      Marc

      Comment

      • Cowboy \(Gregory A. Beamer\)

        #4
        Re: How to gei Last ID

        In general, this is easiest when you use stored procedures, although you can
        batch commands with a semi-colon (;). I would not use @@IDENTITY, as you can
        end up with the wrong value on a highly used system. SCOPE_IDENTITY( ) is
        better.

        --
        Gregory A. Beamer
        MVP, MCP: +I, SE, SD, DBA

        Subscribe to my blog


        or just read it:


        *************** *************** *************** ****
        | Think outside the box!
        |
        *************** *************** *************** ****
        "Marko" <marko_a@hotmai l.comwrote in message
        news:fua46k$8qd $1@sunce.iskon. hr...
        When I write new record with INSERT INTO i need to get ID (Autonumber, key
        of this table) from this, just written record. How to do that in ASP.NET
        (VB or C#) and SQL Server?
        >
        Thanks
        >

        Comment

        • Marc Gravell

          #5
          Re: How to gei Last ID

          I would not use @@IDENTITY, as you can
          end up with the wrong value on a highly used system.
          This is misleading; high usage doesn't impact @@IDENTITY; @@IDENTITY is
          limited to the current spid, but problems arise if an INSERT trigger
          does one-or-more INSERTs - as you get the last identity on the spid,
          which might be frmo an audit table. SCOPE_IDENTITY( ) resolves this by
          getting the last identity (on the spid) for the current context - i.e.
          the INSERT you just performed.

          High usage does, however, affect IDENT_CURRENT(< table name>) - but this
          should not really be used in transactional code - just from maintenance
          scripts etc.

          Marc

          Comment

          • Cowboy \(Gregory A. Beamer\)

            #6
            Re: How to gei Last ID

            Not trying to mislead, so thanks for the input. I have added that to my
            knowledge base.

            --
            Gregory A. Beamer
            MVP, MCP: +I, SE, SD, DBA

            Subscribe to my blog


            or just read it:


            *************** *************** *************** ****
            | Think outside the box!
            |
            *************** *************** *************** ****
            "Marc Gravell" <marc.gravell@g mail.comwrote in message
            news:%23B8zIHWo IHA.264@TK2MSFT NGP05.phx.gbl.. .
            I would not use @@IDENTITY, as you can
            >end up with the wrong value on a highly used system.
            >
            This is misleading; high usage doesn't impact @@IDENTITY; @@IDENTITY is
            limited to the current spid, but problems arise if an INSERT trigger does
            one-or-more INSERTs - as you get the last identity on the spid, which
            might be frmo an audit table. SCOPE_IDENTITY( ) resolves this by getting
            the last identity (on the spid) for the current context - i.e. the INSERT
            you just performed.
            >
            High usage does, however, affect IDENT_CURRENT(< table name>) - but this
            should not really be used in transactional code - just from maintenance
            scripts etc.
            >
            Marc

            Comment

            Working...