|
| |
Пост N: 31
Зарегистрирован: 15.12.09
|
|
Отправлено: 24.12.10 11:15. Заголовок: Препроцессор как отдельное приложение
Возможно ли убрать всё лишнее(для данного случая) и оставить только МОЩНЫЙ препроцессор,... Его на мой взгляд можно пользовать для очень разнообразных функций например: #command ALTER <*txt*> => cl_sql('ALTER '+#<txt>) #command BEGIN [WORK] => cl_begin() #command CLOSE <cursor> => cl_close(<cursor>) #command CLOSE DATABASE => cl_stop() #command COMMIT [WORK] => cl_commit() #command CONNECT <txt> [<mc> [<ml>]] => cl_init(<txt>,<mc>,<ml>) #command CREATE <*txt*> => cl_sql('CREATE '+#<txt>) #command DESCRIPTION <arr> [FROM] <table> => cl_desc(#<table>,<arr>) #command DESCRIPTION <arr> [FROM] (<table>) => cl_desc(<table>,<arr>) #command DELETE [FROM] <table> [WHERE <*txt*>] ; => cl_delete(#<table>,#<txt>) #command DELETE [FROM] (<table>) [WHERE <*txt*>] ; => cl_delete(<table>,#<txt>) #command DELETE [FROM] <table> [WHERE (<txt>)] ; => cl_delete(#<table>,<txt>) #command DELETE [FROM] (<table>) [WHERE (<txt>)] ; => cl_delete(<table>,<txt>) #command DISCONNECT => cl_stop() #command DROP <*txt*> => cl_sql('DROP '+#<txt>) #command FETCH <cursor> <nn> => cl_set(<cursor>,<nn>) #command FETCH <cursor> [NEXT] => cl_next(<cursor>) #command FETCH <cursor> PREVIOUS => cl_prev(<cursor>) #command GRANT <*txt*> => cl_sql('GRANT '+#<txt>) #command INITILIAZE <arr> [FROM] <table> => cl_clear(#<table>,<arr>) #command INITILIAZE <arr> [FROM] (<table>) => cl_clear(<table>,<arr>) #command INSERT [INTO] <*txt*> => cl_ins1(#<txt>) #command INSERT [INTO] <table> FROM <*txt*> ; => cl_ins2(#<table>,#<txt>) #command INSERT [INTO] (<table>) FROM <*txt*> ; => cl_ins2(<table>,#<txt>) #command LOCK TABLE <table> <*txt*> ; => cl_sql('LOCK TABLE '+#<table>+' '+#<txt>) #command LOCK TABLE (<table>) <*txt*> ; => cl_sql('LOCK TABLE '+<table>+' '+#<txt>) #command ON ERROR STOP => cl_onerr(.t.) #command ON ERROR CONTINUE => cl_onerr(.f.) #command OPEN [<h:HOLD>] <cursor> [FOR] ; SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM <tl,...> ; [WHERE <*txt*>] [ORDER BY <*ord*>]; => <cursor>:=cl_open(<cursor>,<.sc.>,#<fl>,#<vl>,#<tl>,#<txt>,#<ord>,<.h.>) #command OPEN [<h:HOLD>] <cursor> [FOR] ; SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM (<table>) ; [WHERE <*txt*>] [ORDER BY <*ord*>]; => <cursor>:=cl_open(<cursor>,<.sc.>,#<fl>,#<vl>,<table>,#<txt>,#<ord>,<.h.>) #command OPEN [<h:HOLD>] <cursor> [FOR] ; SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM <tl,...> ; [WHERE (<txt>)] [ORDER BY <*ord*>]; => <cursor>:=cl_open(<cursor>,<.sc.>,#<fl>,#<vl>,#<tl>,<txt>,#<ord>,<.h.>) #command OPEN [<h:HOLD>] <cursor> [FOR] ; SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM (<table>) ; [WHERE (<txt>)] [ORDER BY <*ord*>]; => <cursor>:=cl_open(<cursor>,<.sc.>,#<fl>,#<vl>,<table>,<txt>,#<ord>,<.h.>) #command OPEN [<h:HOLD>] <cursor> [FOR] <str> => ; <cursor>:=cl_open1(<cursor>,<str>,<.h.>) #command REVOKE <*txt*> => cl_sql('REVOKE '+#<txt>) #command ROLLBACK [WORK] => cl_roll() #command ROLLBACK TO <*txt*> => cl_sql('ROLLBACK TO '+#<txt>) #command SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM <tl,...> ; [WHERE <*txt*>] [ORDER BY <*ord*>]; => cl_select(<.sc.>,#<fl>,#<vl>,#<tl>,#<txt>,#<ord>) #command SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM (<table>) ; [WHERE <*txt*>] [ORDER BY <*ord*>]; => cl_select(<.sc.>,#<fl>,#<vl>,<table>,#<txt>,#<ord>) #command SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM <tl,...> ; [WHERE (<txt>)] [ORDER BY <*ord*>]; => cl_select(<.sc.>,#<fl>,#<vl>,#<tl>,<txt>,#<ord>) #command SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM (<table>) ; [WHERE (<txt>)] [ORDER BY <*ord*>]; => cl_select(<.sc.>,#<fl>,#<vl>,<table>,<txt>,#<ord>) #command SAVEPOINT <*txt*> => cl_sqli('SAVEPOINT '+#<txt>) #command STOP => cl_stop() #command UNLOCK TABLE <table> => cl_sql('UNLOCK TABLE '+#<table>) #command UNLOCK TABLE (<table>) => cl_sql('UNLOCK TABLE '+<table>) #command UPDATE <table> SET <set,...> [WHERE <*txt*>] ; => cl_upd1(#<table>,#<set>,#<txt>) #command UPDATE (<table>) SET <set,...> [WHERE <*txt*>] ; => cl_upd1(<table>,#<set>,#<txt>) #command UPDATE <table> SET <set,...> [WHERE (<txt>)] ; => cl_upd1(#<table>,#<set>,<txt>) #command UPDATE (<table>) SET <set,...> [WHERE (<txt>)] ; => cl_upd1(<table>,#<set>,<txt>) #command UPDATE <table> FROM <arr> [WHERE <*txt*>] ; => cl_upd2(#<table>,<arr>,#<txt>) #command UPDATE (<table>) FROM <arr> [WHERE <*txt*>] ; => cl_upd2(<table>,<arr>,#<txt>) #command UPDATE <table> FROM <arr> [WHERE (<txt>)] ; => cl_upd2(#<table>,<arr>,<txt>) #command UPDATE (<table>) FROM <arr> [WHERE (<txt>)] ; => cl_upd2(<table>,<arr>,<txt>) memvar status
|