Not sure about other RDBMs but Oracle allows:
create table nonos("date" date, "More bad things" varchar2(20));
but the columns with 'bad' name can only be accessed the same way ie
select "date", "More bad things"
from nonos;


"Karyn Ulriksen" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> The 'date' keyword issue usually occurs at the database level.  Most SQL
> databases I have worked with wont even allow you to create a field with
this
> name.  It's possible that DBI does a "sanity check" on some of the keywork
> fields.  The feedback on this issue should be interesting...
>
> K
>
> -----Original Message-----
> From: robert pimentel [mailto:[EMAIL PROTECTED]]
> Sent: Friday, April 19, 2002 12:17 PM
> To: [EMAIL PROTECTED]
> Subject: Keyword "date" instigating error
>
>
> Hello,
>
> Windows NT (sp6)
> Access 2000 (9.0.3821 SR-1)
> Access Driver 4.00.4403.02 (May be slightly outdated (8/8/99))
> Perl 5.6.1
> DBI 1.1.4
> DBD-ODBC 0.28
>
>
> The following error occurs when I attempt an insert...
>
> [
> Couldn't execute insert statement: [Microsoft][ODBC Microsoft Access
Driver]
> Syntax error in INSERT INTO statement. (SQL-37000)(DBD:
> st_execute/SQLExecute err=-1)
> ]
>
> I found the problem is tied to the "date" field. Here's a snippet...
>
> [
>  my $sth = $dbh->prepare("INSERT into $tbl (employe, project_no, po,
> etiq_inv, date) VALUES (?, ?, ?, ?, ?)")
>      or &debug_Print("Couldn't prepare insert statement: $DBI::errstr\n")
&&
> return(0);
>
>  $sth->bind_param(1, $employe);
>  $sth->bind_param(2, $project_no);
>  $sth->bind_param(3, $po);
>  $sth->bind_param(4, $invent);
>  $sth->bind_param(5, $date);    ### , {TYPE => SQL_DATE});
> ]
>
> Notice the column name in the table is named 'date'. I think that's where
> the conflict exists.
> I've tried passing my values in the execute ($employe, $project_no, etc),
> because that will essentially bind them for me. Same result.
> As you can see, I also tried defining the SQL datatype, no luck.
> I also tried using an alternate name for my var ($date2) in case that was
> the problem.
>
> 1) Any ideas?
>
> Quick, second, unrelated question :)
>
> 2)  I mostly use 'qq' before preparing my statements. Unnecessary, when
> using bound parameters correct? Is there risk involved, or is it simply
> overkill??
>
> [
> my $sql = qq{ (INSERT into $tbl (employe, project_no) VALUES (?, ?))};
> my $sth = $dbh->prepare($sql)
> .......
> ]
>
> Thanks,
>
> -R-
>


Reply via email to