Saya tidak menyarankan melakukan ini karena setiap kali dibuat rencana eksekusi baru harus dihitung, tetapi YA, itu pasti bisa dilakukan (Semuanya mungkin, tetapi tidak selalu disarankan).
Ini contohnya:
CREATE PROC [dbo].[sp_helloworld]
AS
BEGIN
SELECT 'Hello World'
DECLARE @sSQL VARCHAR(1000)
SET @sSQL = 'CREATE PROC [dbo].[sp_helloworld2]
AS
BEGIN
SELECT ''Hello World 2''
END'
EXEC (@sSQL)
EXEC [sp_helloworld2];
DROP PROC [sp_helloworld2];
END
Anda akan mendapatkan peringatan
The module 'sp_helloworld' depends on the missing object 'sp_helloworld2'.
The module will still be created; however, it cannot run successfully until
the object exists.
Anda dapat mengabaikan peringatan ini dengan menggunakan EXEC('sp_helloworld2') di atas.
Tetapi jika Anda memanggil EXEC [sp_helloworld] Anda akan mendapatkan hasilnya
Hello World
Hello World 2