Thanks Iwao, that syntax works in sql server as well! Indeed, what a strange beast this SQL is...
On Sun, Aug 9, 2009 at 1:25 PM, Iwao AVE! <haraw...@gmail.com> wrote: > I actually have experienced a similar problem with MySql; the > deleteByExample results in an syntax error when 'alias' is specified. > Fortunately, there was an easy workaround that allows me to use alias in > DELETE statement and I could write a plugin to tweak Ibator's default > syntax. > > http://harawata.blogspot.com/2009/04/ibators-deletebyexample-and-mysql.html > > -- > I cannot confirm this, but is the following syntax valid in SQL Server? > If so, writing a simple plugin could be a solution for deleteByExample. > > DELETE u FROM User AS u > WHERE u.xxx = ... > > Regards, > Iwao > > > On 2009/08/10, at 1:12, Jeff Butler <jeffgbut...@gmail.com> wrote: > > There's no support for this in Ibator now. It will take a rewrite of >> the example class generator at the very least - with support from new >> SQL element generators too. >> >> It also presents a bit of a usage problem for the iBATIS3 interface >> mapper generator. I haven't released this yet, but will soon. >> >> So I'll have to think about this for a bit to come up with the best >> way to deal with it. >> >> Don't you love how "standard" SQL is? I've never run into this in all >> my testing, but I don't test with SQL Server regularly. No problems >> in MySql, HSQLDB, DB2, and (I think) PostgreSQL. >> >> Jeff Butler >> >> >> >> On Sun, Aug 9, 2009 at 10:11 AM, Chad McHenry<mchen...@gmail.com> wrote: >> >>> Using SQL Server, I get syntax errors from Ibator generated >>> deleteByExample >>> and updateByExample* for tables which I give an alias. >>> Neither deleteByPrimaryKey, updateByPrimaryKey, nor >>> updateByPrimaryKeySelective use of the alias, and work, but >>> deleteByExample, >>> updateByExample, and updateByExampleSelective use the alias, and fail. >>> I don't see a way to disable alias use in just the '*ByExample*' >>> statements >>> without creating "Example_Where_Clause_Without_Aliases" sql fragment, and >>> using that instead of the "Example_Where_Clause", but that would take a >>> lot >>> of rewriting of the auto generated stuff or an Ibator plugin. >>> Any suggestions? >>> <table tableName="user" alias="u" delimitIdentifiers="true" /> >>> >>> generates: >>> <delete id="ibatorgenerated_deleteByPrimaryKey" >>> parameterClass="model.User"> >>> <!-- >>> WARNING - This element is automatically generated by Apache iBATIS >>> ibator, do not modify. >>> --> >>> delete from "user" >>> where id = #id:VARCHAR# >>> </delete> >>> <delete id="ibatorgenerated_deleteByExample" >>> parameterClass="model.UserExample"> >>> <!-- >>> WARNING - This element is automatically generated by Apache iBATIS >>> ibator, do not modify. >>> --> >>> delete "user" from "user" u >>> <include refid="user.ibatorgenerated_Example_Where_Clause" /> >>> </delete> >>> deleteByPrimaryKey works fine, but deleteByExample fails with bad-syntax >>> error, due to the aliases which SQLServer 2005 does not like in delete or >>> update statements. >>> >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org >> For additional commands, e-mail: user-java-h...@ibatis.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > For additional commands, e-mail: user-java-h...@ibatis.apache.org > >