Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Procedura składowana — zwraca tożsamość jako parametr wyjściowy lub skalar

Inną opcją byłaby wartość zwracana dla procedury składowanej (jednak nie sugeruję tego, ponieważ zwykle jest to najlepsze dla wartości błędów).

Dołączyłem go jako oba, gdy wstawia pojedynczy wiersz w przypadkach, w których procedura składowana była zużywana przez obie inne procedury SQL i interfejs, który nie mógł działać z parametrami OUTPUT (wierzę, że IBATIS w .NET):

CREATE PROCEDURE My_Insert
    @col1            VARCHAR(20),
    @new_identity    INT    OUTPUT
AS
BEGIN
    SET NOCOUNT ON

    INSERT INTO My_Table (col1)
    VALUES (@col1)

    SELECT @new_identity = SCOPE_IDENTITY()

    SELECT @new_identity AS id

    RETURN
END

Parametr wyjściowy jest łatwiejszy w obsłudze w T-SQL podczas wywoływania z innych procedur składowanych IMO, ale niektóre języki programowania mają słabą obsługę parametrów wyjściowych lub nie mają jej wcale i działają lepiej z zestawami wyników.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić typ danych kolumny w SQL Server (T-SQL)

  2. Jak korzystać z SQL Server HierarchyID za pomocą prostych przykładów

  3. Pogrupuj sql według versus different

  4. Zaplanowane uruchomienie procedury składowanej na serwerze SQL

  5. Wykonaj procedurę składowaną w innej procedurze składowanej na serwerze SQL