Se entiende el problema, y nos lleva a dos conclusiones:
Por un lado sería más o menos sencillo preparar un Stored Procedure que se encargara del problema, pero no evitaría tener que hacer 10, 100 ó 500 inserts. En ese contexto, la solución llega mejor por programación, ya que allí si se puede preparar un insert múltiple y ejecutarlo:
Usando eso, puedes hacer un insert de 1000 registros sin que la base pestañee, ya que son mucho más rápidos.
Por otro lado, hay un error conceptual en el diseño del sistema: No hay ninguna razón para crear 500 instancias de ruedas si todas ellas están en el stock indiferenciadas. Solamente tiene sentido hacerlo cuando la guardes en una tabla donde la relaciones con el vehículo, es decir, lo que describes al final:
Cita: porque como neumaticos nuevos no tienen un codigo asociado o mas bien son codigo 0, despues cuando los sacamos de bodega para instalarlos en algun bus se les asigna en ese momento un codigo para poder seguirles la vida creando un historico de cada vehiculo en que estuvo y cada incidente que tuvo ese neumatico.
Es al ponerlos en el vehículo cuando el neumático comienza a existir como elemento individual, y por tanto es
allí donde hay que crear la instancia individual.
Por otro lado, en el stock no tiene sentido poner columnas (atributos) que en definitiva no pertenecen a la entidad Stock, como pareces estar sugiriendo.