This is dubious. Yes, you can do this, but what if there are concurrent inserts while your operation is running? And what if the FK is not re-enabled?
You can do:
BEGIN TRANSACTION
ALTER TABLE SomeTable NOCHECK CONSTRAINT fk
INSERT SomeTable SELECT ... FROM
ALTER TABLE SomeTable WITH CHECK CHECK CONSTRAINT fk
COMMIT TRANSACTION
By wrapping the operation in a transaction, you are guaranteed that the FK will always re-enabled and re-evaluated when your operation has Completed. And the same if the operation fails and is rolled back.
But the table will be blocked for everyone else, since you will be holding a Sch-M lock.
And re-evaluating the constraint will also take time.
This is something you may consider for a very special one-off operation when you need to load lots of data. But in a stored procedure that runs regularly? I'm less keen on that.