再试试
ALTER  procedure pr_userUnload
         @UID     int,
         @UName   varchar(50)
As
    --Declare @u
    Declare @sql  varchar(1000)
    
    
    --Select * From AD.dbo.AS_user Where AS_profileID = @UID
            If @UName is null
           Set @sql = 'Insert into AD.dbo.AS_user (AS_profileID,AS_CompanyName,AS_Address,AS_Contact,AS_Phone,AS_Email) Select UserID,CorpName,Address,Contactor,Phone,Email From HQEW.dbo.userProfile Where userID=''' + Rtrim(@UID) +''''
    Else
           Set @sql = 'Insert into AD.dbo.AS_user (AS_profileID,AS_CompanyName,AS_Address,AS_Contact,AS_Phone,AS_Email) Select UserID,CorpName,Address,Contactor,Phone,Email From HQEW.dbo.userProfile Where userName=''' + Rtrim(@UName)+''''
      
    Exec(@sql)
GO

解决方案 »

  1.   

    创建不了的提示错误是什么??试试这个ALTER  procedure pr_userUnload
             @UID     int,
             @UName   varchar(50)
    As
        Declare @sql  varchar(1000)
        If @UName is null
               Set @sql = 'Insert into AD.dbo.AS_user (AS_profileID,AS_CompanyName,AS_Address,AS_Contact,AS_Phone,AS_Email) Select UserID,CorpName,Address,Contactor,Phone,Email From HQEW.dbo.userProfile Where userID=' + Rtrim(@UID) 
        Else
               Set @sql = 'Insert into AD.dbo.AS_user (AS_profileID,AS_CompanyName,AS_Address,AS_Contact,AS_Phone,AS_Email) Select UserID,CorpName,Address,Contactor,Phone,Email From HQEW.dbo.userProfile Where userName=''' + @UName+''''
        Exec(@sql)
    GO执行语句是
    EXEC pr_userUnload 1,Null
    EXEC pr_userUnload 1,'AA'