запрос вида
select p.name, p.Price_Retail, p.FullName, p.ID_Product,
p.Flag, g.name, g.discount
from products p join groups g on p.id_group=g.id_group
order by g.name, p.name
выдает план
PLAN SORT (JOIN (G NATURAL, P INDEX (FK_PRODUCTS__ID_GROUP)))
где natural приводит к тормозам. Что мне
ôÁË ÍÏÖÎÏ ÌÉ ÄÅÌÁÔØ select × computed by ÐÏÌÅ ÉÌÉ ÏÎÏ ÔÏÌØËÏ ÄÌÑ +-
ÚÎÁÞÅÎÉÊ?
äÁÖÅ ÅÓÌÉ ÉÎÏÇÄÁ ÜÔÏ ÓÒÁÂÁÔÙ×ÁÅÔ, ÌÕÞÛÅ ÔÁË ÎÅ ÄÅÌÁÔØ.
--
äÍÉÔÒÉÊ åÍÁÎÏ×
þÔÏ, ÔÏÌØËÏ ÞÅÒÅÚ ÐÒÏÃÅÄÕÒÕ? üÈ, ÓÅÊÞÁÓ ÂÕÄÕ ÐÅÒÅÄÅÌÙ×ÁÔØ
ËÁËÁÑ ÐÒÏÃÅÄÕÒÁ? × ÚÁÐÒÏÓÁÈ ÔÁÂÌÉÃÙ ÏÂßÅÄÉÎÑÔØ ÕÍÅÅÛØ?
×ÏÏÂÝÅ, ×ËÌÀÞÁÑ ÓÅÇÏÄÎÑÛÎÅÅ ÎÁ ÆÏÒÕÍÁÈ (É Õ ÍÅÎÑ É ÎÁ sql.ru)
ÄÁÅÔ ×ÐÅÞÁÔÌÅÎÉÅ, ÞÔÏ ÚÁÐÒÏÓÙ × ×ÙÞÉÓÌÑÅÍÙÈ ÐÏÌÑÈ ÐÉÛÕÔ ÔÅ,
ËÔÏ ÕÍÅÅÔ ÄÁÎÎÙÅ ÉÚ ÔÁÂÌÉÃ ×ÙÂÉÒÁÔØ ÔÏÌØËÏ ËÁË select * from table.
ÐÒÉÞÅÍ ×ÓÅÇÄÁ ÉÚ ÏÄÎÏÊ. åÊ-ÂÏÇÕ.
îÕ ×ÏÏÂÝÅ-ÔÏ
÷ÏÔ ÒÅÛÉÌ ÐÒÏÅËÓÐÅÒÉÍÅÎÔÉÒÏ×ÁÔØ, Á×ÏÓØ ÓÒÁÂÏÔÁÅÔ:
CREATE TABLE KITCHEN_DOCUM_ITEMS (
ID_KITCHEN_DOCITEM INTEGER NOT NULL,
ID_KITCHEN_DOCUMINTEGER NOT NULL,
ID_DISH INTEGER NOT NULL,
QTY_KITCHEN T_MONEY /* T_MONEY = NUMERIC(11,4) DEFAULT 0 NOT
NULL */,
ðÙÔÁÀÓØ ÓÄÅÌÁÔØ ÂÅËÁÐ ÉÚ ÐÒÉÌÏÖÅÎÉÑ ÎÁ embeded 1.5.3 (ÉÓÐÏÌØÚÕÑ ÓÅÒ×ÉÓÙ
fibplus)
ôÁË ÐÏÌÕÞÁÀ ÏÛÉÂËÕ Service SERVER:service.mgr is not defined
ëÁË ÌÅÞÉÔØ? åÓÌÉ ÃÅÐÌÑÔÓÑ ÎÅ ÞÅÒÅÚ embeded, ÔÏ ×ÓÅ ÏË
ðÏÎÑÌ, ÓÐÁÓÉÂÏ
Andrei Yeryomin [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
Nikolay Trifonov ÐÉÛÅÔ:
þÔÏ-ÔÏ Ñ ÎÅ ÐÏÎÑÌ, ÚÁÞÅÍ 0=0 ÅÓÌÉ On É ÔÁË ÂÕÄÅÔ ÕËÁÚÁÎ ÐÒÉ Left Join ?
from table1
left join storeproc2(1, 2, f3, 4, f5) on 0 = 0
--
ó Õ×ÁÖÅÎÉÅÍ,
áÎÄÒÅÊ åÒÅÍÉÎ.
ëÁË Õ ÔÅÂÑ ×ÓÅ ÒÅÁÌÉÚÏ×ÁÎÏ?
Kovalenko Dmitry [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
îÕ ËÁË × ÜÔÏÔ ÏÕÔÌÕËÅ Õ×ÉÄÅÔØ ÅÍÁÊÌ ÏÔÐÒÁ×ÉÔÅÌÑ?
[dima ÔÁ ÅÝÅ ÓáÂÁËÁ lcpi.lipetsk.ru]
îÏ ÌÕÞÛÅ ÓÐÒÁÛÉ×ÁÊ ÚÄÅÓØ, ÎÁ ÆÏÒÕÍÅ.
ëÏ×ÁÌÅÎËÏ äÍÉÔÒÉÊ.
Ded [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
ëÏÎÓÔÁÎÔÉÎ wrote:
PS: åÝ£ ÒÁÚ ÒÅËÏÍÅÎÄÕÀ http://ibase.ru/devinfo/joins.htm,
ÎÅ ÐÏÌÅÎÉÓØ ÐÏÞÉÔÁÊ ...
üÔÏ, ÂÅÚÕÓÌÏ×ÎÏ, ÐÒÁ×ÉÌØÎÏ. é ÎÁÐÒÁ×ÌÅÎÉÅ ×ÏÐÒÏÛÁÀÝÅÇÏ × ÎÏÒÍÁÌØÎÙÅ
ÄÖÏÊÎÙ ×ÍÅÓÔÏ ÐÏÄÚÁÐÒÏÓÏ× É ÄÁÄÅÎÎÙÈ × Ä×ÏÊËÅ ×
- Ñ Õ×ÅÒÅÎ ÞÔÏ ÒÁÚÎÉÃÁ îáíîïçï ÕÍÅÎØÛÉÔÓÑ
äÁ, ÔÙ ÐÒÁ×, ÐÅÒ×ÙÊ ÂÙÓÔÒÅÅ × 2 ÒÁÚÁ, ÎÏ ÅÓÌÉ ÄÏÂÁ×ÌÑÅÍ ÄÏÐ.ÕÓÌÏ×ÉÑ, ÔÏ
ÐÏÌÕÞÁÅÔÓÑ ÎÁÏÂÏÒÏÔ
NT äÁ É ÐÒÉ×ÙË Ñ ÚÁ ÍÎÏÇÏ ÌÅÔ Ë ÔÁËÏÍÕ ÓÐÏÓÏÂÕ ÎÁÐÉÓÁÎÉÑ ÚÁÐÒÏÓÏ×.
îÕ ×ÏÔ ÐÒÏÔÉ× ÜÔÏÇÏ ÎÅÔ ÁÒÇÕÍÅÎÔÏ× ËÒÏÍÅ ËÁË:
ÐÒÉ×ÙÞËÉ ÒÁÎÏ ÉÌÉ ÐÏÚÄÎÏ
é ÜÔÏ ÐÒÁ×ÉÌØÎÏ. ïÄÎÁËÏ, ÄÌÑ ÐÒÉ×ÙËÛÅÇÏ Ë ÎÅÑ×ÎÙÍ ÄÖÏÊÎÁÍ ÞÅÌÏ×ÅËÁ ÏÎ
ÔÏÖÅ ×ÐÏÌÎÅ ÎÁÇÌÑÄÅÎ, ÎÁ Ó×ÏÅÊ-ÔÏ ÓÔÒÕËÔÕÒÅ, ÔÕÔ ÁÓÓÏÃÉÁÔÉ×ÎÏÅ ×ÏÓÐÒÉÑÔÉÅ
ÐÏÄËÌÀÞÁÅÔÓÑ, ÉÎÄÅËÓÙ-ÓÅÇÍÅÎÔÙ Ó×ÏÉ ÚÎÁÅÛØ, ÍÅÓÔÁ ÎÁ ÜËÒÁÎÅ ÏÎ ÍÅÎØÛÅ
ÚÁÎÉÍÁÅÔ, ÂÏÌØÛÅ ÏËÉÄÙ×ÁÅÛØ ÏÄÎÉÍ ×ÚÇÌÑÄÏÍ, ÕÓÌÏ×ÉÑ ÎÁ ÏÄÎÕ ÔÁÂÌÉÃÕ
õ ÍÅÎÑ ÜÔÏ ÒÅÛÁÅÔÓÑ ÒÁÚÎÙÍÉ ÓËÌÁÄÁÍÉ É ÒÅÇÉÏÎÁÍÉ. îÁÍÎÏÇÏ ÐÒÏÝÅ
ArtGal [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Nikolay Trifonov [EMAIL PROTECTED] ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ
×
ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:[EMAIL PROTECTED]
ôÙ ÎÅ ÐÒÁ× (éíèï), ÔÁË ËÁË ÓÌÏÖÎÏÓÔØ ÐÏÞÔÉ ×ÓÅÈ ÚÁÐÒÏÓÏ× Õ
îÕ ËÁË × ÜÔÏÔ ÏÕÔÌÕËÅ Õ×ÉÄÅÔØ ÅÍÁÊÌ ÏÔÐÒÁ×ÉÔÅÌÑ?
äÉÍÁ, ÍÏÊ ÅÍÁÊÌ t_nick ÓÏÂÁÞËÁ mail.ru, ÈÏÔÅÌÏÓØ ÂÙ ÕÚÎÁÔØ ÐÏÄÒÏÂÎÏÓÔÉ Ï
ÒÅÐÌÉËÁÔÏÒÅ
Kovalenko Dmitry [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
PS. íÏÊ ÒÅÐÌÉËÁÔÏÒ ÍÏÖÎÏ ÂÅÚ ÐÒÏÂÌÅÍ
ÚÁÐÒÏÇÒÁÍÍÉÒÏ×ÁÔØ ÐÏÄ ËÁÖÄÏÍÕ Ó×ÏÅ.
îÏ ÍÎÅ
îÕ ÎÁÚÏ×É ÈÏÔØ ÏÄÎÕ ÐÒÉÞÉÎÕ ÐÏÞÅÍÕ ÜÔÏ ÐÏÌÅ ÍÏÖÅÔ ÐÏÎÁÄÏÂÉÔØÓÑ?
WildSery [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
On Thu, 09 Nov 2006 22:52:45 +0300, Nikolay Trifonov
[EMAIL PROTECTED] wrote:
ôÙ ÎÅ ÐÒÁ× (éíèï), ÔÁË ËÁË ÓÌÏÖÎÏÓÔØ ÐÏÞÔÉ ×ÓÅÈ ÚÁÐÒÏÓÏ× Õ×ÅÌÉÞÉ×ÁÅÔÓÑ É
ðÏÑ×ÌÑÅÔÓÑ, ÎÏ × ÇÏÌÏ×Å Õ ÍÅÎÑ ×ÓÅ ÅÝÅ ÔÕÍÁÎ, ÏÓÏÂÅÎÎÏ ÐÏÓÌÅ ÐÅÒÅÞÉÓÌÄÅÎÎÏÇÏ
ÏÂÓÕÖÄÅÎÉÑ ×ÙÛÅ :)
÷ÏÔ ÐÏÜÔÏÍÕ É ÉÎÔÅÒÅÓÕÅÔ ËÁË ÌÕÞÛÅ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÓÄÅÌÁÔØ, ÔÏÞÎÅÅ ÈÏÔÑ ÂÙ
ÔÏÌÞÏË × ÄÁÎÎÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ
Kovalenko Dmitry [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
éÚ ÆÉÌÉÁÌÁ 1
Â) ÔÅÐÅÒØ ËÁÓÁÅÍÏ ÄÏËÕÍÅÎÔÏ× É
Ó×ÑÚÁÎÎÙÈ Ó ÎÉÍÉ ÔÁÂÌÉÃ. ÷ÓÅ ÄÏËÕÍÅÎÔÙ,
ËÏÔÏÒÙÅ ×ÌÉÑÀÔ ÎÁ ÔÏ×ÁÒÎÙÊ ÚÁÐÁÓ ÉÍÅÀÔ
ÎÁÂÏÒ ÔÒÉÇÇÅÒÏ×, ËÏÔÏÒÙÅ ÆÉËÓÉÒÕÀÔ ×
ÔÁÂÌÉÃÁÈ ÓÏÓÔÏÑÎÉÑ ÎÅÏÂÈÏÄÉÍÏÓÔØ
ÐÅÒÅÄÁÞÉ ÜÔÏÇÏ ÄÏËÕÍÅÎÔÁ × ðïãï.
îÁÐÒÉÍÅÒ ×ÏÔ ÔÁË:
AS
begin
/*ÄÏÂÁ×ÌÅÎÉÅ ÄÏËÕÍÅÎÔÁ × ÓÐÉÓÏË
select d.Year_Int, d.Month_Int, d.Year_Month_String, sum(di.Qty) as
Sum_Qty, sum(di.Qty*di.Price) as Sum_Product
from vw_Documents d, Operations o, Docum_Items di, Products p
where (d.ID_Operation = o.ID_Operation)
and (o.State in (3,7))
and (d.Flag_Virtual = 0)
åÓÔØ ÐÒÏÃÅÄÕÒÁ ÏÂÈÏÄÁ ÄÅÒÅ×Á:
CREATE PROCEDURE RECURS_GROUPS (
parent integer)
returns (
id integer)
as
BEGIN
IF (EXISTS (SELECT id_group FROM groups WHERE id_group = :parent)) THEN
BEGIN
id = parent;
SUSPEND;
END
FOR SELECT id_group
ÏÂÁ ×ÁÒÉÁÎÔÁ ÎÉ Ë Þ£ÒÔÕ :)
select p.* from from recurs_groups(:id_groups) g
join products p on g.id=p.id_group
ÔÁË ÂÕÄÅÔ ÌÕÞØÛÅ, Ô.Ë. ÎÁÓËÏÌØËÏ Ñ ÐÏÍÎÀ, × Ô×Ï£Í ÓÌÕÞÁÅ, ÄÌÑ ëáöäïê
ÚÁÐÉÓÉ products ÂÕÄÅÔ ×ÙÚÙ×ÁÔØÓÑ recurs_groups ÄÁ ÅÝ£ plan natural :(
÷ ÍÏ£Í ÖÅ ×ÁÒÉÁÎÔÅ
ðÒÁ×ÄÁ × ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ ÔÙ ÐÒÁ×, ÅÓÌÉ ÍÅÌËÉÅ ÚÁÐÒÏÓÙ:
úÁÐÒÏÓ
select p.name,p.fullname,p.description
from products p,
(select id from recurs_groups(0)) rg
where rg.id=p.id_group
PLAN JOIN (GROUPS INDEX (RDB$PRIMARY7), RECURS_GROUPS NATURAL)(GROUPS INDEX
(ÄÁÌØÛÅ ÐÏÓËÉÐÁÎÏ)
ñ ËÏÎÅÞÎÏ ÎÅ ÇÕÒÕ, ÎÏ ÔÙ, éíèï, ÎÅ ÏÂÒÁÔÉÌ ×ÎÉÍÁÎÉÅ ÎÁ ñ÷îùê JOIN ÜÔÏ ÒÁÚ.
ä×Á - ÐÏÐÒÏÂÕÊ ×Ó£-ÖÅ ÐÅÒÅÐÉÓÁÔØ Ó×ÏÊ ÚÁÐÒÏÓ ÐÏÓÔÁ×É× ×ÙÂÏÒËÕ ÉÚ SP
ÎÁ ÐÅÒ×ÏÅ ÍÅÓÔÏ. äÁ É ÐÏÔÏÍ, ÎÅ ÚÎÁÀ ËÁË ËÔÏ, ÎÏ ÌÉÞÎÏ Ñ ÚÁ ÔÁËÉÅ
ÚÁÐÒÏÓÙ ... ÎÕ ÐÏÞÅÍÕ ÎÅ ×ÑÚÁÔØ Ñ×ÎÙÍÉÉ Join ? é ÐÁÒÓÅÒÕ
Ded [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
÷ÙÒ×Á ÷ÁÌÅÒÉÊ å×ÇÅÎØÅ×ÉÞ wrote:
á ÐÏÞÅÍÕ ÂÙ ÎÅ ×ÓÔÁ×ÌÑÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÔÏÍ ÏÔ ËÕÄÁ ÐÒÉÛÌÏ ÏÂÎÁ×ÌÅÎÉÅ?
ñ ÕÖ ÓËÏËÁ ÌÅÔ ÂÕÂÎÀ, ÞÔÏ ÓÁÍÙÊ ÅÓÔÅÓÔ×ÅÎÎÙÊ ÓÐÏÓÏ ÄÌÑ ÒÅÐÌÉÃÉÒÕÅÍÙÈ
ÔÁÂÌÉà - Ä×ÕÈÓÅÇÍÅÎÔÎÙÊ PK (Base_ID, Record_ID).
íÁÄÏÒÓËÉÊ ç.÷. [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
é ×ÏÔ × ÜÔÕ ÓÈÅÍÕ ÎÁÄÏ ËÁË-ÔÏ ×ÐÉÓÁÔØ ÞÔÏ ÄÁÎÎÙÅ ÉÚ
×ÔÏÒÏÇÏ ÆÉÌÉÁÌÁ (REPL2) ÄÏÌÖÎÙ ÐÏÌÕÞÉÔØ ÔÒÅÔÉÊ (Ñ ÔÁË ÐÏÎÉÍÁÀ ÎÁÄÏ ÄÅÌÁÔØ
REPL3?) É ÞÅÔ×ÅÒÔÙÊ.(ÎÁÄÏ REPL4 ?), Á ÄÁÎÎÙÅ ÉÚ ÔÒÅÔØÅÇÏ ×Ï ×ÔÏÒÏÊ É
ÞÅÔ×ÅÒÔÙÊ, ÉÚ
Dmitry Voroshin [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Nikolay Trifonov [EMAIL PROTECTED] ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ
×
ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:[EMAIL PROTECTED]
ôÅÐÅÒØ ÔÏ, ÞÔÏ Õ ÍÅÎÑ ÎÅ ÕËÌÁÄÙ×ÁÅÔÓÑ × ÇÏÌÏ×Å: ëáë äïâá÷éôø ÷ üôõ óèåíõ
ôòåôøà ôïþëõ óéîèòïîéúáãéé ? òÁÓÔÏÌËÕÊÔÅ
Kovalenko Dmitry [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
INSERT INTO CHANGES2(TABLEKEY,TABLENAME,OP,LOC_ID)
SELECT ÂÌÁ-ÂÌÁ-ÂÌÁ
FROM REPL_TABLES2 WHERE TABLENAME=DOCUMENTS;
[ÂÏÌØÛÉÅ, ËÒÕÇÌÙÅ ÇÌÁÚÁ]
ËÏÎÅËÔÉÍÓÑ Ë ÂÁÚÅ ÞÅÒÅÚ sysdba, ÁÐÄÅÊÔÉÍ DOCUMENTS,
Konstantin R. Beliaev [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
Nikolay Trifonov wrote:
òÅÐÌÉÃÉÒÕÅÍ ÄÁÎÎÙÅ: ËÏÎÎÅËÔÉÍÓÑ ËÁË REPL2 É × DOCUMENTS ÄÅÌÁÅÍ ÉÚÍÅÎÅÎÉÑ.
óÏÏÔ×ÅÔÓÔ×ÅÎÎÏ × ÔÒÉÇÇÅÒ ÏÎÉ ÎÅ ÐÏÐÁÄÁÀÔ.
ôÅÐÅÒØ ÔÏ, ÞÔÏ Õ ÍÅÎÑ ÎÅ ÕËÌÁÄÙ×ÁÅÔÓÑ × ÇÏÌÏ×Å: ëáë äïâá÷éôø ÷ üôõ
Konstantin R. Beliaev [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
Nikolay Trifonov wrote:
ÄÙË ÜÔÏ ÐÏÎÑÔÎÏ, × ÇÏÌÏ×Å ÎÅ ÕËÌÁÄÙ×ÁÅÔÓÑ ÄÒÕÇÏÅ: ÅÓÌÉ ÍÙ ÓÄÅÌÁÌÉ
ÓÉÎÈÒÏÎÉÚÁÃÉÀ ÐÏÄ ÕÞÅÔÎÏÊ ÚÁÐÉÓØÀ REPL2, ÔÏ ËÁË ÓÄÅÌÁÔØ ÞÔÏÂÙ ÄÁÎÎÙÅ
ÐÏÐÁÌÉ × Changes ÄÌÑ ÓÉÎÈÒÏÎÉÚÁÃÉÉ Ó ÔÒÅÔØÅÊ, ÞÅÔ
Kovalenko Dmitry [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
ñ ÔÕÔ ÐÉÓÁÌ, ÐÉÓÁÌ. ðÏÔÏÍÕ ÓÔÅÒ.
÷ÏÐÒÏÓ - Õ ÔÅÂÑ ÄÌÑ ËÁÖÄÏÊ ÂÁÚÙ ×ÙÄÅÌÅÎ
Ó×ÏÊ ÄÉÁÐÁÚÏÎ ÚÎÁÞÅÎÉÊ ÇÅÎÅÒÁÔÏÒÏ×?
ëÏ×ÁÌÅÎËÏ äÍÉÔÒÉÊ.
ÅÓÔÅÓÔ×ÅÎÎÏ Ó×ÏÊ
select p.name as ProductName, sum(pc.rest) as Rest, g.name as GroupName,
p.Price_Retail_Val, p.FullName, p.Description, d.Date_Docum
from products p, groups g, product_cards pc, docum_items di, documents d
where p.id_group=g.id_group
and p.id_product=pc.id_product
Kiart [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
NT ËÁË ÐÒÁ×ÉÌØÎÏ ÅÇÏ ÐÅÒÅÐÉÓÁÔØ, ÔÁË
ËÁË ÏÞÅÎØ ÄÏÌÇÏ ×ÙÐÏÌÎÑÅÔÓÑ, ÂÏÌØÛÏÊ
ÓËÁÎ
NT ÔÁÂÌÉÃÙ docum_items. FB2
á ÞÔÏ ÂÕÄÅÔ, ÅÓÌÉ × ÐÏÄÚÁÐÒÏÓÅ
ÉÓÐÏÌØÚÏ×ÁÔØ ÁÌÉÁÓÙ, ÎÅ ÓÏ×ÐÁÄÁÀÝÉÅ Ó
ÏÓÎÏ×ÎÙÍ ÚÁÐÒÏÓÏÍ? îÁÐÒÉÍÅÒ ÔÁË:
(select
Dmitry Yemanov [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
Nikolay Trifonov wrote:
ËÁË ÐÒÁ×ÉÌØÎÏ ÅÇÏ ÐÅÒÅÐÉÓÁÔØ
éÚÂÁ×ÉÔØÓÑ ÏÔ NOT IN. îÁÐÒÉÍÅÒ, × ÐÏÌØÚÕ NOT EXISTS.
--
äÍÉÔÒÉÊ åÍÁÎÏ×
óÄÅÌÁÌ, ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÌÕÞÛÅ. ðÏÌÕÞÉÌ ÐÌÁÎ
PLAN SORT (JOIN (O INDEX
á × ÐÒÉÎÃÉÐÅ ÎÉÞÅÇÏ ÕÌÕÞÛÁÔØ ÎÅÎÁÄÏ, ÚÁÐÒÏÓ ËÏÔÏÒÙÊ ÄÅÌÁÌÓÑ ÎÅÓËÏÌØËÏ ÍÉÎÕÔ
ÔÅÐÅÒØ ÄÅÌÁÅÔÓÑ ÎÅÓËÏÌØËÏ ÓÅËÕÎÄ. öÁÌØ ÐÉ×Ï Ë ÐÉÓØÍÕ ÎÅ ÃÅÐÌÑÅÔÓÑ :)
óÏÒÒÉ, ÎÏ ÎÁÞÎÕ ÎÏ×ÙÊ ÐÏÓÔ, ïå ÚÁÇÌÀÞÉÌ.
ÏÄÉÎ ×ÏÐÒÏÓ Õ ÍÅÎÑ × ÇÏÌÏ×Å ÎÅ ÕËÌÁÄÙ×ÁÅÔÓÑ: ÅÓÔØ ÔÁÂÌÉÃÁ CHANGES, × ËÏÔÏÒÏÊ
ÄÌÑ ÒÅÐÌÉËÁÃÉÉ ÚÁÐÉÓÙ×ÁÀÔÓÑ × ËÁËÏÊ ÓÔÒÏÞËÅ ÞÔÏ ÉÚÍÅÎÉÌÏÓØ ÔÒÉÇÇÅÒÏÍ:
CREATE TRIGGER DOCUMENTS_REPL2 FOR DOCUMENTS
AFTER UPDATE AS
BEGIN
IF( USER 'REPL2' ) THEN
BEGIN
á ÐÏ ÉÄÅÅ ÍÏÖÎÏ É ÚÁÂÉÔØ. îÕ ÐÒÏÊÄÅÔ × ÒÅÐÌÉËÁÃÉÉ ÜÔÏÔ ÈÏÌÏÓÔÏÊ update.
îÉÞÅÇÏ ÓÔÒÁÛÎÏÇÏ.
ñ ÂÙ ÔÁË ÎÅ ÓËÁÚÁÌ. æÁÊÌÙ × 2ÒÁÚÁ ÂÏÌØÛÅ, ËÁÎÁÌ Ó×ÑÚÉ - ÍÏÂÉÌËÁ
ëÒÏÍÅ ÔÏÇÏ ÍÏÖÎÏ ×ÙÇÒÕÖÁÔÏÒ ÉÌÉ ÚÁÇÒÕÖÁÔÏÒ ÐÏÉÎÔÅÌÌÅËÔÕÁÌØÎÅÅ ÓÄÅÌÁÔØ.
þÔÏÖ, ÎÁ×ÅÒÎÏÅ ÐÒÉÄÅÔÓÑ ÐÒÉ ×ÙÇÒÕÚËÅ ÁÎÁÌÉÚÉÒÏ×ÁÔØ ÐÒÅÄÙÄÕÝÕÀ
äÌÑ ÎÅ ÓÁÍÙÈ ÓÔÁÒÙÈ ×ÅÒÓÉÊ IB/FB ÈÏÌÏÓÔÏÊ update - ÎÅ ÅÄÉÎÓÔ×ÅÎÎÙÊ ÍÅÔÏÄ
ÂÌÏËÉÒÏ×ÁÎÉÑ ÚÁÐÉÓÅÊ. http://www.ibase.ru/devinfo/pslock.htm ,
http://www.ibase.ru/devinfo/plocks.htm
óÏÇÌÁÓÅÎ, ÎÏ ÐÌÀÓÙ ÒÁÂÏÔÁÀÔ ÞÅÒÅÚ ÈÏÌÏÓÔÏÊ ÁÐÄÅÊÔ, Á ÐÅÒÅÄÅÌÙ×ÁÔØ ÌÏÇÉËÕ
ÐÒÉÌÏÖÅÎÉÑ ÏÊ ËÁË ÎÅ ÈÏÞÅÔÓÑ.
ëÒÏÍÅ
ëÁË ×ÓÅÍ ÉÚ×ÅÓÔÎÏ, ÞÔÏÂÙ × FB ÚÁÂÌÏËÉÒÏ×ÁÔØ ÚÁÐÉÓØ, ÎÁÄÏ ÓÄÅÌÁÔØ ÈÏÌÏÓÔÏÊ
update.
õ ÍÅÎÑ ×ÉÓÑÔ ÎÁ ÔÁÂÌÉÃÁÈ ÔÒÉÇÇÅÒÁ ÄÌÑ ÒÅÐÌÉËÁÃÉÉ, ËÏÔÏÒÙÅ × ÏÔÄÅÌØÎÕÀ
ÔÁÂÌÉÃÕ ÚÁÐÉÓÙ×ÁÀÔ PK É ÎÁÚ×ÁÎÉÅ ÔÁÂÌÉÃÙ. ôÁË ×ÏÔ, ÂÌÏËÉÒÏ×ËÕ ÚÁÐÉÓÅÊ ÄÅÌÁÀ
ÓÒÅÄÓÔ×ÁÍÉ ÐÌÀÓÏ×, ËÏÔÏÒÙÅ ÄÅÌÁÀÔ ÜÔÏÔ ÓÁÍÙÊ ÈÏÌÏÓÔÏÊ ÁÐÄÅÊÔ. á ×
Sergey Philippov [EMAIL PROTECTED]
wrote in message news:[EMAIL PROTECTED]
Nikolay Trifonov ÐÉÛÅÔ:
÷ ËÁËÏÊ ÒÕÓËÏÑÚÙÞÎÏÊ ËÏÎÆÅÒÅÎÃÉÉ ÉÌÉ ÆÏÒÕÍÅ ÍÏÖÎÏ ÚÁÄÁ×ÁÔØ ×ÏÐÒÏÓÙ Ï SVN
?
rsdn.tools
èÍ, ÜÔÏ ÓÁÊÔ ÉÌÉ ÞÔÏ?
?
Tonal [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Nikolay Trifonov ÐÉÛÅÔ:
éÚ×ÉÎÉÔÅ ÚÁ ÏÆÔÏÐ, ÎÏ ÇÄÅ ÔÁËÏÅ ÓÐÒÁÛÉ×ÁÔØ ÎÅÚÎÁÀ.
îÁÞÉÔÁÌÓÑ ÔÕÔ Ï CVS É SVN É ÐÒÉÎÑÌÓÑ ÐÅÒÅ×ÏÄÉÔØ ÐÒÏÅËÔÙ ÐÏÄ ×ÅÒÓÉÉ. ôÅ,
ÞÔÏ ÐÏÄ firebird ÂÅÚ ÐÒÏÂÌÅÍ: ÓÏÚÄÁÌ create.sql ÓËÒÉÐÔ ÂÁÚÙ É ÎÁÒÁÓÔÁÀÝÉÊ
äÌÑ gbak × firebird ÅÓÔØ ÓÅÒ×ÉÓÙ, Á ËÁË ÎÁÓÞÅÔ nbackup?
éÚ×ÉÎÉÔÅ ÚÁ ÏÆÔÏÐ, ÎÏ ÇÄÅ ÔÁËÏÅ ÓÐÒÁÛÉ×ÁÔØ ÎÅÚÎÁÀ.
îÁÞÉÔÁÌÓÑ ÔÕÔ Ï CVS É SVN É ÐÒÉÎÑÌÓÑ ÐÅÒÅ×ÏÄÉÔØ ÐÒÏÅËÔÙ ÐÏÄ ×ÅÒÓÉÉ. ôÅ, ÞÔÏ
ÐÏÄ firebird ÂÅÚ ÐÒÏÂÌÅÍ: ÓÏÚÄÁÌ create.sql ÓËÒÉÐÔ ÂÁÚÙ É ÎÁÒÁÓÔÁÀÝÉÊ
update.sql, ÏÔÄÁÌ ÐÏÄ ËÏÎÔÒÏÌØ ×ÅÒÓÉÊ É ×ÓÅ, ÐÒÉ ÖÅÌÁÎÉÉ ×ÅÒÎÕÔØÓÑ ÎÁ ÐÒÅÖÎÀ
×ÅÒÓÉÀ ÔÏÌØËÏ ÂÁÚÕ
] wrote in
message news:[EMAIL PROTECTED]
Nikolay Trifonov wrote:
update RDB$FIELDS set
RDB$FIELD_SUB_TYPE = 0,
RDB$CHARACTER_SET_ID = 52
where RDB$FIELD_NAME =
(select RDB$FIELD_SOURCE
from RDB$RELATION_FIELDS
where (RDB$FIELD_NAME = 'NOTE') and (RDB$RELATION_NAME = 'FIRMS'));
ôÙ
îÁÐÒÉÍÅÒ ÍÅÎÑ ibexpert ÄÁ×ÎÏ ÐÒÉÕÞÉÌ ÞÔÏ Ñ × Ó×ÏÉÈ ÓËÒÉÐÔÁÈ ÐÉÛÕ
update RDB$FIELDS set
RDB$FIELD_SUB_TYPE = 0,
RDB$CHARACTER_SET_ID = 52
where RDB$FIELD_NAME =
(select RDB$FIELD_SOURCE
from RDB$RELATION_FIELDS
where (RDB$FIELD_NAME = 'NOTE') and (RDB$RELATION_NAME = 'FIRMS'));
é ×ÓÅ
ðÒÉ ÐÏÐÙÔËÅ ÕÄÁÌÅÎÉÑ ÚÁÐÉÓÉ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ: attempted update of read-only
column. (×ÏÏÂÝÅ ÎÅ ÐÏÎÉÍÁÀ, ÏÔËÕÄÁ Õ ÍÅÎÑ × ÂÁÚÅ ÒÉÄÏÎÌÉ ÐÏÌÑ)
ðÒÉ ÜÔÏÍ ÜÔÁ ÖÅ ÂÁÚÁ ÂÅÚ ÐÒÏÂÌÅÍ ÒÁÂÏÔÁÅÔ ÎÁ FB1.5.3, ÐÏÍÏÇÉÔÅ ÒÁÚÏÂÒÁÔØÓÑ.
îÁ ÔÁÂÌÉÃÕ ÎÁ×ÅÛÁÎ ÔÒÉÇÇÅÒ:
CREATE TRIGGER DOCUM_ACCOUNTS_BD FOR DOCUM_ACCOUNTS
FB2.0RC3
åÓÔØ ÐÒÏÃÅÄÕÒÁ:
update notices set state=3
where id_notice in
( SELECT n.ID_NOTICE
from notices n, styles s, categories c left join blocks b on
c.id_block=b.id_block
left join titles t on
c.id_title=t.id_title
á ÞÅÍ ÏÐÁÓÎÏ ÂÏÌØÛÅ 27?
÷ÓÅ ÏÂßÅËÔÙ Ó ÏÂÝÉÍÉ ÐÅÒ×ÙÍÉ 27 ÓÉÍ×ÏÌÁÍÉ ÂÕÄÕÔ ÒÁÚÄÅÌÑÔØ ÏÄÉÎ ÎÁÂÏÒ
ÇÒÁÎÔÏ×. ô.Å. ÉÚÍÅÎÑÑ ÐÒÁ×Á ÏÄÎÏ ÉÚ ÎÉÈ, ÎÅÑ×ÎÏ ÉÚÍÅÎÑÔÓÑ É ÏÓÔÁÌØÎÙÅ.
èÍ, ×ÏÔ ÜÔÏ ÄÁ. îÅÚÎÁÌ, ×ÐÒÅÄØ ÂÕÄÕ ÏÓÔÏÒÏÖÎÅÊ É ÎÁÄÅÀÓØ × ÂÕÄÕÝÅÍ ÂÕÄÅÔ
ÉÓÐÒÁ×ÌÅÎÏ
é ÍÏÖÅÔ ÅÅ ËÏÇÄÁ-ÎÉÂÕÄØ Õ×ÅÌÉÞÁÔ?
á ÞÅÍ ÏÐÁÓÎÏ ÂÏÌØÛÅ 27?
Dmitry Yemanov [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
Nikolay Trifonov [EMAIL PROTECTED] wrote:
÷ÏÏÂÝÅ 31. âÅÚÏÐÁÓÎÏ 27.
é ÍÏÖÅÔ ÅÅ ËÏÇÄÁ-ÎÉÂÕÄØ Õ×ÅÌÉÞÁÔ?
á ÔÏ!
--
äÍÉÔÒÉÊ åÍÁÎÏ×
þÔÏ-ÔÏ Ñ ÎÁ×ÅÒÎÏÅ × ÄÏËÕÍÅÎÔÁÃÉÉ ÎÅÄÏÞÉÔÁÌ. ðÙÔÁÀÓØ ÞÅÒÅÚ fbclient.dll ÏÔ
Ä×ÏÊËÉ ÐÏÄËÌÀÞÉÔØÓÑ Ë fb153, ÐÏÌÕÞÁÀ ÏÛÉÂËÕ. ëÏÎÎÅËÔ ÌÏËÁÌØÎÙÊ, ÎÅ ÞÅÒÅÚ
ÓÅÔØ. çÄÅ ËÏÐÁÔØ?
ÄÁÎÎÙÍÉ (ÓËÒÉÐÔ ÒÁÓÐÏÌÏÖÉÔØ ÒÑÄÏÍ Ó fdb
ÎÁÚ×Á× ÅÇÏ ÔÁË ÖÅ)
Vladimir A.Bakhvaloff [EMAIL PROTECTED] wrote
in message news:[EMAIL PROTECTED]
Nikolay Trifonov [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
÷ÏÔ ÏÄÎÏÇÏ ÎÅ ÐÏÎÉÍÁÀ: ÎÕ ÉÓÐÏÌÄØÚÏ×ÁÔØ cvs ÄÌÑ ÔÅËÓÔÏ×ÙÈ ÄÁÎÎÙÈ pas É
dfm
ÎÁ×ÓÅÇÄÁ
Vladimir A.Bakhvaloff [EMAIL PROTECTED] wrote
in message news:[EMAIL PROTECTED]
Nikolay Trifonov [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
úÎÁÞÉÔ ÂÕÄÕ ÄÅÌÁÔØ ÔÁË: ÜËÓÐÏÒÔÉÒÏ×ÁÔØ ÂÁÚÕ × ÏÄÉÎ É ÔÏÔ ÖÅ ÔÅËÓÔÏ×ÉË É
ÏÔÄÁ×ÁÔØ ÅÇÏ ÎÁ ÓØÅÄÅÎÉÅ cvs.
á ÍÏÖÅÔ ÜÔÏ ÄÅÌÏ
äÙË, Ñ É ÇÏ×ÏÒÀ Ï ÔÏÍ, ÞÔÏ ÔÕÔ É ÎÅ ÎÁÄÏ ÅÇÏ ÉÓÐÏÌØÚÏ×ÁÔØ...
ôÉÐÁ, ÐÒÉ ÕÓÔÁÎÏ×ËÅ ÏÂÎÏ×ÌÅÎÉÑ, ÐÒÏ×ÅÒÑÅÍ ×ÅÒÓÉÀ ÂÁÚÙ É ×ÅÒÓÉÀ
ÐÒÏÇÒÁÍÍÙ... îÁËÁÔÙ×ÁÅÍ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÙÅ ÉÚÍÅÎÅÎÉÑ ËÁÓËÁÄÎÏ ÄÏ ÔÅËÕÝÅÊ
×ÅÒÓÉÉ...
÷ cvs É svn ÐÒÏÂÌÅÍÁ × ÄÒÕÇÏÍ - ÄÌÑ ÎÉÈ ×ÁÖÅÎ ÐÏÒÑÄÏË ÓÔÒÏË. é ÅÓÌÉ ÐÏ
Roman Rokytskyy [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
á ÒÁÚ×Å × ÔÅËÓÔÏ×ÏÍ dfm ÓÔÒÏËÉ ÐÏÍÅÎÑÔÓÑ ÎÅ ÍÏÇÕÔ?
íÏÇÕÔ. âÕÄÅÔ ÔÁ ÖÅ ÐÒÏÂÌÅÍÁ - ×ÙÑÓÎÅÎÉÑ ÏÔÌÉÞÉÊ ÏÔ ÐÒÅÄÙÄÕÝÅÊ ×ÅÒÓÉÉ
ÕÓÌÏÖÎÉÔÓÑ É ÂÅÚ ÒÁÓÛÉÒÅÎÙÈ ËÏÍÍÅÎÔÁÒÉÅ× ÎÅ ÏÂÏÊÔÉÓØ. ÷ÏÐÒÏÓ ÔÏÌØËÏ ×
ÔÏÍ - ÎÕÖÎÏ ÌÉ ÜÔÏ ôÅÂÅ
Т.е. если я не указываю роль, то переменная current_role получается пустая?
Alexander A. Venikov [EMAIL PROTECTED] wrote
in message news:[EMAIL PROTECTED]
Hello, Nikolay!
You wrote on Tue, 4 Jul 2006 03:10:59 +0300:
NT Получается, что надо обязательно указать роль? Или я что-то путаю?
news:[EMAIL PROTECTED]
Nikolay Trifonov wrote:
Получается, что надо обязательно указать роль? Или я что-то путаю?
Меня вот этот вопрос изумляет донельзя уж скока лет. Ну если звёзды
зажигают, значит, это кому-нибудь нужно? (C) Логика у народа просто
убойная - если есть такой параметр коннекта
есть пользователь, у него есть роль.
Конекчусь к базе, не указывая роль, только логин и пароль. В итоге в
триггере не проходит ограничение
IF (current_role='aaa') then
Получается, что надо обязательно указать роль? Или я что-то путаю?
PS Кстати, FB2
select
s.name as storename,
sum(pc.rest) as rest,
sum(pc.reserve) as reserve,
r.name as regionname,
r.id_region,
(select first 1 rp.price_retail from region_prices rp
where (r.id_region=rp.id_region) and
pc.id_product=rp.id_product) as PriceRetail
from stores s
left join regions
Nikolay Trifonov [EMAIL PROTECTED] wrote:
group by s.name,r.name,r.id_region, select first 1 rp.price_retail from
region_prices rp
Скобки кто за тебя писать будет?
Дмитрий, выполняю
select
s.name as storename,
sum(pc.rest) as rest,
sum(pc.reserve) as reserve,
r.name as regionname
Hi Dmitry Yemanov
А можно ли уже
Поставь FB2, проверь - множество вопросов отпадет. Но независимо от версии
FB эта IN-кляуза будет тормозной по определению.
Даже когда реализация с EXIST переползет на JOIN?
Поподробнее можно?
--~--~-~--~~~---~--~~
Hello, Nikolay!
You wrote on Tue, 23 May 2006 19:34:50 +0300:
NT Нижеследующий запрос будет быстрее в полуторке или в двойке?
А проверить и самостоятельно расставить все точки над Ё?
Сначала написал, потом проверил. Долго и в 1.5.3 и в 2.0, вот интересно, как
народ выкручивается из таких
NT который в FB1.5.3 ругается на group by
NT Как его правильно переписать?
Чего говорит-то? imho по вложенному select группмровать не надо, т.е. group by
1,4,5
Тогда получаю Invalid expression in the select list (not contained in either an
aggregate function or the GROUP BY clause).
Nikolay Trifonov [EMAIL PROTECTED] wrote:
Как его правильно переписать?
Продублировать поля и подзапрос в GROUP BY.
В FB1.5.3 ругается на select при написании
group by s.name,r.name,r.id_region, select first 1 rp.price_retail from
region_prices rp
where (r.id_region=rp.id_region
Вот вопрос перед переходом на FB
Так писать нельзя в 1.5.3 (имеется в виду (p.id_group in (select id from
recurs_groups(:id_groups
А можно ли уже так писать в FB 2.0 ?
select p.name,p.fullname,p.description,
Нижеследующий запрос будет быстрее в полуторке или в двойке?:
select di.* , p.price_retail p
from docum_items di, sp_products p
where di.id_product = p.id_product
and di.id_docum in (6,7)
где sp_products это (таблица products содержит десятки тысяч записей):
CREATE PROCEDURE SP_PRODUCTS
Есть запрос
select s.name as storename, sum(pc.rest) as rest, sum(pc.reserve) as reserve,
r.name as regionname, r.id_region,
(select first 1 rp.price_retail from region_prices rp
where (r.id_region=rp.id_region) and (pc.id_product=rp.id_product)) as
PriceRetail
from stores
Нет ли каких-либо подводных камней, если все клиенты (до сотни) будут
подключаться через sysdba ?
есть запрос
Select first 1 cr.Rate from Currency_Rate cr
where cr.Date_change = '26.04.2005'
and cr.ID_Currency = 2
order by cr.Date_change desc
Если таблица пустая, то имею в результате null, а надо получить 0. Как все же
это лучше сделать, учитывая что таких запросов
Scor, повтори ответ, gmane у меня глючит и некоторые письма бьются.
Hi Nikolay Trifonov !
Может так ?
select coalesce((Select first 1 cr.Rate from Currency_Rate cr
where cr.Date_change = '26.04.2005'
and cr.ID_Currency = 2
order by cr.Date_change desc),0) from RDB$DATABASE
-
ух ты, и как я сразу не догадался. Отлично, подходит.
67 matches
Mail list logo