On Sun, Feb 2, 2014 at 2:58 AM, Pongrácz István
<[email protected]>wrote:
> Hi,
>
> I am working on a method to inject parts into the database directly.
>
> I figured out the parts id, and partnumber auto increment, which basically
> was the key point from my point of view.
>
> So, to be able to add a new record to the parts table, it needs to build a
> proper record.
>
> The sequences needed to get the id and partnumber correctly, I can use the
> following two sql commands:
>
> select nextval('parts_id_seq'); -> gives a new id for the parts table
> select value from sequence__increment('Monitors'); -> build up the new
> partnumber (using sequences addon, otherwise it needs an other increment)
>
> So, the first part is ok.
>
> I have a sample record, which is the basis to build up the correct record,
> which includes all default settings, like accounts, units etc.
>
> So, my question, how to build up the right sql syntax, preferably in
> one-liner?
>
> Obviously, the following sql command does not work, check the red fields:
> id, partnumber.
>
> insert into parts
> (id,partnumber,description,unit,listprice,sellprice,lastcost,priceupdate,
>
> weight,onhand,notes,makemodel,assembly,alternate,rop,inventory_accno_id,income_accno_id,
>
> expense_accno_id,bin,obsolote,bom,image,drawing,microfiche,partsgroup_id,project_id,avgcost)
> values
> (select nextval('parts_id_seq'),
> select value sequence__increment('Monitors'),
> 'Test part',
> 'db',0,0,0,'2014-02-01',2,0,'',t,f,f,0,32,261,227,'8471',f,f,'','','',1,,);
>
If you want to do subqueries you need to surround them with ().
You can also just call the functions directly. So either:
((select nextval('parts_id_seq')), (select value from
sequence__increment('Monitors')), ...)
Or you could:
(nextval('parts_id_seq'), (sequence__increment('Monitors')).value, ....)
In the latter example, the parentheses serve to identify a tuple from which
the value attribute is extracted.
--
Best Wishes,
Chris Travers
Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor
lock-in.
http://www.efficito.com/learn_more.shtml
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable
security intelligence. It gives you real-time visual feedback on key
security issues and trends. Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
Ledger-smb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel