0

mysql ワークベンチで次のコードを実行すると、上記のエラーが表示されます Pls do help

#   IF p_Name is not null THEN
 #                   SET m_sql = m_sql +' Name=''' + p_Name + ''' and ';
#   END IF;


     If p_ReligionID is not null THEN
                    SET m_sql = m_sql + '" ReligionId= "' + 'CAST(p_ReligionID AS CHAR(30))' + 'and';
    END IF;

     If p_CasteID is not null THEN
                    SET m_sql = m_sql + '" CasteId= "' + 'CAST(p_CasteID AS CHAR(30))'  + 'and';

    END IF;

    If p_CountryID is not null THEN
                    SET m_sql=m_sql+    '"  Countryid= "' + 'CAST(p_CountryID AS CHAR(30))' + 'and';
    END IF;

    If p_MotherTongueID is not null THEN
                    SET m_sql=m_sql+'"  MotherTongueID= "' + 'CAST(p_MotherTongueID AS CHAR(30))' + 'and';
    END IF;
4

1 に答える 1

0

入力時に m_sql が有効であり、少なくとも 1 つの条件が満たされていると仮定すると、最終ステートメントは「and」で終了します。それは、私が知っているどの方言でも有効な SQL ではありません。次に、余分な引用と思われるものに対処する必要があります。

後続条件の先頭に AND を挿入することをお勧めします

 If p_ReligionID is not null THEN
                SET m_sql = m_sql + ' and ReligionId = ' + 'CAST(p_ReligionID AS CHAR(30))';
END IF;

(私は SQL Server の人なので、MySql の手続き型言語の詳細は私の範囲を超えています)

于 2013-03-22T19:44:59.490 に答える