Advertisement
Guest User

Untitled

a guest
Oct 11th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.73 KB | None | 0 0
  1. -- =============================================
  2. -- Author:      <Author,,Name>
  3. -- Create date: <Create Date,,>
  4. -- Description: <Description,,>
  5. -- =============================================
  6. CREATE PROCEDURE [dbo].[CreateSubscriber]
  7.     @Name nchar(50),
  8.     @ClientId int,
  9.     @Msisdn nchar(12) = null,
  10.     @TrplId int,
  11.     @Comment nchar(100) = Null,
  12.     @CreDate datetime = Null,
  13.     @SubscriberId int OUTPUT
  14. AS
  15. BEGIN
  16.     declare @getid CURSOR;
  17.     declare @servId int;
  18.     declare @msg varchar(256);
  19.  
  20.     -- SET NOCOUNT ON added to prevent extra result sets from
  21.     -- interfering with SELECT statements.
  22.     SET NOCOUNT ON;
  23.  
  24.     if @CreDate is NULL
  25.         Set @CreDate = GETDATE();
  26.  
  27.     Set @SubscriberId = (SELECT MAX(SUBS_ID) FROM SUBSCRIBER) + 1;
  28.     if @SubscriberId is NULL
  29.         Set @SubscriberId = 1;
  30.  
  31.     -- по умолчанию, абонент бует создаваться со статусом = 4 (подготовлен, т.е. не активированным)
  32.     insert into SUBSCRIBER(SUBS_ID, SUBS_STAT_ID, NAME, CLNT_ID, MSISDN, TRPL_ID, COMMENT, CRE_DATE)
  33.             values(@SubscriberId, 4, @Name, @ClientId, @Msisdn, @TrplId, @Comment, @CreDate);
  34.  
  35.     -- добавляем абоненту все услуги с тарифного плана со статусом = 4 (подготовлен, т.е. не активированным)
  36.     SET @getid = CURSOR FOR
  37.       Select SERV_ID from TARIFF_SERVICE where TRPL_ID = @TrplId
  38.  
  39.     open @getid
  40.     FETCH NEXT
  41.     FROM @getid INTO @servId
  42.     WHILE @@FETCH_STATUS = 0
  43.     BEGIN
  44.         declare @id int;
  45.         execute AddServiceToSubscriber @SubsId = @SubscriberId, @ServId = @servId, @ServStatId = 4, @SubsServId = @id output , @ErrMsg = @msg output
  46.         FETCH NEXT
  47.         FROM @getid INTO @servId
  48.     END
  49.     CLOSE @getid
  50.     DEALLOCATE @getid
  51. END
  52. go
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement