Yes you can do it, look at following code.
create PROCEDURE sproc_CreateTableAtRuntime
(
@TableName NVARCHAR(128)
,@Column1Name NVARCHAR(32)
,@Column1DataType NVARCHAR(32)
,@Column1Nullable NVARCHAR(32)
)
AS
Begin
DECLARE @SQLString NVARCHAR(MAX)
SET @SQLString = 'CREATE TABLE ' + @TableName + '( '+ @Column1Name + ' ' + @Column1DataType + ' '+ @Column1Nullable +')'
EXEC (@SQLString)
End
Now you can execute the store procedure as follows:
sproc_CreateTableAtRuntime 'MyTable','MyColumn1','Int','Not Null'