level 1
shaolinxyz
楼主
这是我的SQL函数内容,参数 : 'mecha'' -- Text=================DECLARE tmp varchar ;BEGINtmp:=mecha;insert into t_finishedgoods(select * from dblink('hostaddr=172.16.73.10 port=5432 dbname=camel user=admin password=test ,'select * from t_finishedgoods where mecha_no='mecha'')as t1(mecha_no name, serial_no name, finished_date timestamp) );end;===============问题是在执行插入时,报错如下:ERROR: syntax error at or near "$1" at character 156PostgreSQL把它解析成,它会在具体参数后自动添加"::varchar",如果把SQL去掉"::varchar",拿出来运行是可以的。insert into t_finishedgoods( select * from dblink('hostaddr=172.16.73.110 port=5432 dbname=camelot user=camelotadmin password=epson' ,'select * from t_finishedgoods where mecha_no=''AB620010JT8508006'::varchar'') as t1(mecha_no name, serial_no name, finished_date timestamp) )所以希望大家帮帮忙,如何避免产生"::varchar".谢谢了!
2008年06月18日 06点06分
1