:-lib(dbi). :-lib(listut). :- local struct(salesTaxTable(year, tax_percent)). :- local struct(ob02(taxPercent, year)). solve(KX_KSDELIVERYYEAR_SSA0) :- % Connect to DB user/password session_start("root", "", [dbname:"test"], Session), db002(Session,Result_db002), findall(Y_db002,(member(X_db002,Result_db002), salesTaxTable{tax_percent:SALESTAXTABLE_TAX_PERCENT_SSA0, year:SALESTAXTABLE_YEAR_SSA0} = X_db002, ob02{taxPercent:OB02_TAXPERCENT_SSA0,year:OB02_YEAR_SSA0} = Y_db002, SALESTAXTABLE_YEAR_SSA0 = OB02_YEAR_SSA0,SALESTAXTABLE_TAX_PERCENT_SSA0 = OB02_TAXPERCENT_SSA0 ),OBList_db002), nth1(1,OBList_db002, X_db002), arg(year of ob02,X_db002 , KX_KSDELIVERYYEAR_SSA0), % Close DB Connection session_close(Session), writeln(end). db002(Session,Result_db002) :- % SQL % tax_percent INT(11) % year VARCHAR(25) %taxPercent year %=================== % 12 1999 % 34 2000 SQL = "select year, tax_percent from SalesTaxTable", % Template SALESTAXTABLE = salesTaxTable( "AA",10), % Execute SQL session_sql_query(Session, SALESTAXTABLE, SQL, Cursor), % Get Results cursor_all_tuples(Cursor, Result_db002), % Close Cursor cursor_close(Cursor).