From a user table check if one of them exists on a table
Assuming my reading of the schema is correct, this should do what you want:

create procedure dbo.AddSerials (
      @serials as dbo.SerialList readonly
    , @parentCode nvarchar(20)
    , @isAuto bit
    ) as
begin;
  set nocount on;
  declare @AggregationId int;
  select @AggregationId = CodeId
    from dbo.[Code] c
    where c.Serial = @parentCode;
  if @AggregationId is null
    begin;
      -- if the parent doesn't exist, children don't exist
      return 0;
    end;
  -- parent exists, check children
  if exists (
    select 1
      from @serials s
      where not exists (
        select 1
          from dbo.AggregationChildren as ac
            inner join dbo.[Code] as acc
              on ac.AggregationChildrenId = acc.CodeId
                and ac.AggregationId = @AggregationId
          where acc.Serial = s.Serial
        )
    )
    begin;
      -- at least one @serials does not exist under parent
      return 0;
    end;
    else 
    begin;
      -- all of the @serials exist under parent
      return 1;
    end;
end;


If you want to skip checking the parent code, this would also work:

create procedure dbo.AddSerials (
      @serials as dbo.SerialList readonly
    , @parentCode nvarchar(20)
    , @isAuto bit
    ) as
begin;
  set nocount on;
  if exists (
    select 1
      from @serials s
      where not exists (
        select 1
          from dbo.[Code] as ac
            inner join dbo.Aggregation as a
              on ac.CodeId = a.AggregationId
                and ac.Serial = @parentCode
            inner join dbo.AggregationChildren as ac
              on a.AggregationId = ac.AggregationId
            inner join dbo.[Code] as acc
              on ac.AggregationChildrenId = acc.CodeId
          where acc.Serial = s.Serial
        )
    )
    begin;
      -- at least one @serials does not exist under parent
      return 0;
    end;
    else 
    begin;
      -- all of the @serials exist under parent
      return 1;
    end;
end;