impossible d'exécuter la maternelle en vrac manipulation de la requête

Je suis en train de mettre en œuvre un "s'il existe, mise à jour, sinon, insérer" méthode d'accès aux données dans NHibernate. Ma base de données Oracle 10g.

Je suis l'obtention de cette "impossible d'exécuter la maternelle en vrac manipulation de la requête" erreur lorsque vous essayez d'exécuter ce code, si je lance l'insertion ou la mise à jour individualy, il fonctionne très bien.

Merci!

string sql = @"DECLARE
                CntOfRow Number(10,0);
              BEGIN
                    SELECT count(*)
                    INTO CntOfRow
                    FROM Table1
                    WHERE 
                        QueID=:QueID

                    IF CntOfRow=0 THEN
                        INSERT INTO Table1 ...;
                    ELSE
                        UPDATE Table1 ... ;
                    END IF;
                END;";


            INHibernateSession session = NHibernateSessionManager.Instance.Session;

            try
            {
                session.BeginTransaction();
                ISQLQuery query = session.GetISession().CreateSQLQuery(sql.Replace(System.Environment.NewLine, " "));
                query.SetParameter("QueID", queID);
                query.ExecuteUpdate();
                session.CommitTransaction();
            }
            catch (Exception ex)
            {
                session.RollbackTransaction();
                throw;
            }

OriginalL'auteur nandin | 2009-11-10