create procedure pCreateView
    @TableName  char(255),
    @ViewName   char(255)
as
begin
exec('
 CREATE VIEW @ViewName
 AS
 SELECT @TableName.*, plantMain.*
 FROM @TableName INNER JOIN
       plantMain ON @TableName.plantNum = plantMain.plantNumber
')
endgo

解决方案 »

  1.   

    改成以下代碼試試:
    create procedure pCreateView
        @TableName  char(255),
        @ViewName   char(255)
    as
    begin
     declare @exestr varchar(500)
     set@exestr='CREATE VIEW   '+@ViewName+'AS SELECT  '+@TableName+
     '.*,plantMain.* From  '+@TableName +' INNER JOIN plantMainON  '   +@tableName+'.plantNum= plantMain.plantNumber'
     --print(@exestr) 用此句測試@exestr是否為你原有的SQL語句,注意空格
    exec(@exestr)
    end