create table `temporary_db`.test1
( a varchar(10) not null
);
-- this fails:
-- insert into test1
-- set a = '12345678901';
insert into test1
set a = '1234567890';
insert into test1
set a = left('12345678901',10);
select * from test1;
SELECT CONCAT (
', PARTITION part'
, ((2000 + a10year * 10 + a1year) * 100 + amonth)
, ' VALUES IN ('
, ((2000 + a10year * 10 + a1year) * 100 + amonth)
, ')'
) AS apart
, (2000 + a10year * 10 + a1year) * 100 + amonth AS ayearmonth
, (2000 + a10year * 10 + a1year) AS ayear
, a10year
, a1year
, amonth
FROM (SELECT 1 as amonth UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4
UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10
UNION ALL SELECT 11 UNION ALL SELECT 12) y
CROSS JOIN
(SELECT 1 as a1year UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4
UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10) x
CROSS JOIN
(SELECT 1 as a10year UNION ALL SELECT 2 UNION ALL SELECT 3) d
order by a10year, a1year, amonth
;
@ECHO OFF
chcp 1251 >NUL
set MSG01=Выполняется резервное копирование в файл
set MSG02=, ждите завершения...
set MSG03=Ошибка резервного копирования!!! Проверте сообщения в журнале событий.
chcp 866 >NUL
echo Starting backup to file "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log"... >> "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log"
echo %MSG01% "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log" %MSG02%
"C:\Program Files\MySQL_for_Spootnik\bin\mysqldump.exe" -u root -proot --quick --verbose --databases debug_db_2__ > "C:\mySAT2\source\v2_84_trunk\bin\Spootnik_Backup_1.sql" 2>> "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log" && echo Backup done. >> "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log" || ( echo %MSG03% & pause )
/* ---
TStartupInfo SI;
TProcessInformation PI;
memset(&SI, 0, sizeof(SI));
SI.cb = sizeof(SI);
SI.wShowWindow = SW_NORMAL;
SI.dwFlags = STARTF_USESHOWWINDOW;// | STARTF_FORCEONFEEDBACK;
SI.wShowWindow = SW_SHOWNORMAL;
memset(&PI, 0, sizeof(PI));
char cmdLineBuffer[1024];
strcpy( cmdLineBuffer, batchFileName.c_str() );
// ShowMessage( AnsiString( cmdLineBuffer ) );
if( CreateProcess( 0,cmdLineBuffer,0, 0, false, 0, 0, 0, &SI, &PI ) )
{
//Æäåì çàâåðøåíèÿ èíèöèàëèçàöèè.
// WaitForInputIdle(PI.hProcess, INFINITE);
//Æäåì çàâåðøåíèÿ ïðîöåññà.
WaitForSingleObject(PI.hProcess, INFINITE);
//Ïîëó÷àåì êîä çàâåðøåíèÿ.
// GetExitCodeProcess(PI.hProcess, ExitCode);
//Çàêðûâàåì äåñêðèïòîð ïðîöåññà.
CloseHandle(PI.hThread);
//Çàêðûâàåì äåñêðèïòîð ïîòîêà.
CloseHandle(PI.hProcess);
}
else
{
ShowMessage(SysErrorMessage(GetLastError()));
}
--- */
void MoveToModule(TForm *Source, TDataModule *Dest)
{
int I;
TComponent *Temp;
for (I = Source->ComponentCount - 1; I >= 0; I--)
{
Temp = Source->Components[I];
// only move components that are not controls
if (dynamic_cast<TControl *>(Temp) == NULL)
{
Source->RemoveComponent(Temp);
Dest->InsertComponent(Temp);
}
}
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
for (int i = 0; i < DataModule2->ComponentCount; i++)
{
if (DataModule2->Components[i]->ClassNameIs("TDataSource"))
ListBox1->Items->AddObject(DataModule2->Components[i]->Name,
(TObject *)DataModule2->Components[i]);
}
}
C:\Program Files\Parallels\Parallels Tools\Applications;C:\PROGRA~1\Borland\CBUILD~1\Bin;C:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\CollabNet Subversion;C:\Program Files\cvsnt
Customer->InsertRecord(ARRAYOFCONST((CustNoEdit->Text,CoNameEdit->Text,AddrEdit->Text, Null, Null, Null, Null, Null, Null,DiscountEdit->Text)));
MySQL Server Instance Config Wizard
CASE
WHEN LessonIsIndividual THEN
CASE
WHEN LessonHasTwoTeachers THEN
LessonChargeSum * 40 / 100
ELSE
LessonChargeSum * 80 / 100
END
ELSE
CASE
WHEN LessonHasTwoTeachers THEN
LessonChargeSum * 25 / 100
ELSE
LessonChargeSum * 50 / 100
END
END
CASE
WHEN LessonIsIndividual THEN
LessonChargeSum * 80 / 100
ELSE
CASE
WHEN LessonHasTwoTeachers THEN
LessonChargeSum * 25 / 100
ELSE
LessonChargeSum * 50 / 100
END
END
TResultsForm *rf = new TResultsForm(this); // rf is local form instance
rf->ShowModal();
delete rf;
function Login :Boolean;
begin
LoginForm := TLoginForm.Create(nil);
if LoginForm.ShowModal = mrOk
then Result := true
else Result := false;
LoginForm.Free;
end;
begin
Application.Initialize;
if Login then
begin
Application.CreateForm(TBroker, Broker);
count := Broker.GetFormsCount;
Application.CreateForm(TMainForm, MainForm);
Broker.BuildSystem;
Application.Run;
end;
Broker.KillSystem;
end.
Form1.Visible := true;
Application.ShowMainForm := true;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->OnException = AppException;
}
void __fastcall TForm1::AppException(TObject *Sender, SysUtils::Exception *E)
{
Application->ShowException(E);
Application->Terminate();
}
TDBGrid * pGrid = dynamic_cast<TDBGrid *>(Sender);
TRect r = Rect;
if (pGrid)
{
canvas->TextWidth( str )
CustTable->DisableControls();
try
{
CustTable->First();
while (!CustTable->Eof)
{
// Process each record here
CustTable->Next();
}
__finally
{
CustTable->EnableControls();
}
}
if (Source->InheritsFrom(__classid(TFileListBox)))
...
if Source->ClassNameIs("TLabel") )
...
TDragObjectEx
TDragImageList
try
{
AlphaPrimaryForm->ShowOver( MainForm );
modalResult = TForm::ShowModal();
}
__finally
{
AlphaPrimaryForm->Hide();
}
try
{
AlphaForm->ShowOver( MainForm );
modalResult = SelectDatesForm->ShowModal();
}
__finally
{
AlphaForm->Hide();
}
$00EBE5DE
$00AF8B6C
$006B6154 заголовок
$006B6154 шрифт
$00EBE5DE фон
, "..."
$00ABD5E0 коричн
SHOW_PROGRESS( );
PROGRESS( 1, "Помечаем в кэше дату, требующую пересчёта..." );
PROGRESS( 2, "Сохраняем изменения в абонементе в базу данных..." );
PROGRESS( 3, "Пересчитываем кэш за эту дату..." );
PROGRESS( , "Обновляем список клиентов..." );
PROGRESS( , "Обновляем список абонементов..." );
PROGRESS( , "Обновляем список занятий..." );
PROGRESS( , "Обновляем список финансовых операций..." );
HIDE_PROGRESS
#include "RegrProgressForm.h"
SHOW_PROGRESS( 2 );
PROGRESS( 1, "Готовим данные к печати..." );
HIDE_PROGRESS
unit UnitColorConstants;
{-----------------------------------------------------------------
Unit Name: UnitColorConstants
Version: 2.0
Author: Stewart Moss
Creation Date: Jan 31 2002 11:54 pm
Modification Date: Feb 21 2002
Dependancies:
Description:
-- This code is copyright (Jan 31 2002) by Stewart Moss
-- All rights Reserved.
-----------------------------------------------------------------}
interface
uses Graphics;
const
clNicePaleGreen = TColor($CCFFCC);
clPaleRed = TColor($CCCCFF);
clNicePurple = TColor($00E1E100);
clKhaki = TColor($ADAE80);
clMonkeyGreen = TColor($00C0DCC0);
clSkyBlue = TColor($00F1CAA6);
clMedGray = TColor($00A4A0A0);
clCream = TColor($00EFFBFF);
clChocolate = TColor($17335C);
clDarkBrown = TColor($5C3340);
clDarkSlateGrey = TColor($4F4F2F);
clDarkTan = TColor($4F6997);
clDarkWood = TColor($425E85);
clLightWood = TColor($A6C2E9);
clMediumWood = TColor($6480A6);
clNewTan = TColor($9EC7EB);
clSemiSweetChocolate = TColor($26426B);
clSienna = TColor($236B8E);
clWheat = TColor($BFD8D8);
clBrass = TColor($42A6B5);
clBronze = TColor($53788C);
clBronzeII = TColor($3D7DA6);
clCoolCopper = TColor($1987D9);
clCopper = TColor($3373B8);
clQuartz = TColor($F3D9D9);
clFieldSpar = TColor($7592D1);
clGoldenrod = TColor($70DBDB);
clMediumGoldenrod = TColor($AEEAEA);
clBrightGold = TColor($19D9D9);
clGold = TColor($327FCD);
clOldGold = TColor($3BB5CF);
clCoral = TColor($007FFF);
clFirebrick = TColor($23238E);
clIndianRed = TColor($2F2F4E);
clMandarianOrange = TColor($3378E4);
clMediumVioletRed = TColor($9370DB);
clNeonPink = TColor($C76EFF);
clOrangeRed = TColor($0024FF);
clScarlet = TColor($17178C);
clSpicyPink = TColor($AE1CFF);
clThistle = TColor($D8BFD8);
clVioletRed = TColor($9932CC);
clDarkOliveGreen = TColor($2F4F4F);
clForestGreen = TColor($238E23);
clHunterGreen = TColor($215E21);
clMediumForestGreen = TColor($238E6B);
clMediumSeaGreen = TColor($426F42);
clMediumSpringGreen = TColor($00FF7F);
clPaleGreen = TColor($8FBC8F);
clSeaGreen = TColor($688E23);
clSpringGreen = TColor($7FFF00);
clYellowGreen = TColor($32CC99);
clAquamarine = TColor($93DB70);
clCadetBlue = TColor($9F9F5F);
clCornFlowerBlue = TColor($6F4242);
clDarkTurquoise = TColor($DB9370);
clLightBlue = TColor($D9D9C0);
clLightSteelBlue = TColor($BD8F8F);
clMediumAquamarine = TColor($99CD32);
clMediumBlue = TColor($CD3232);
clMediumTurquoise = TColor($DBDB70);
clMidnightBlue = TColor($4F2F2F);
clNeonBlue = TColor($FF4D4D);
clNewMidnightBlue = TColor($9C0000);
clRichBlue = TColor($AB5959);
clSlateBlue = TColor($FF7F00);
clSteelBlue = TColor($8E6B23);
clSummerSky = TColor($DEB038);
clTurquoise = TColor($EAEAAD);
clBlueViolet = TColor($9F5F9F);
clOrchid = TColor($DB70DB);
clDarkPurple = TColor($781F87);
clViolet = TColor($4F2F4F);
clDarkOrchid = TColor($CD3299);
clMediumSlateBlue = TColor($007FFF);
clDarkSlateBlue = TColor($8E236B);
clMediumOrchid = TColor($DB7093);
implementation
end.
select a1.val | a2.val*16 | a3.val*256 | a4.val*4096 | a5.val*65536 + @a
from @numbers a1,@numbers a2,@numbers a3,@numbers a4,@numbers a5
where a5.val<=@n/65536
and a4.val<=(@n-a5.val*65536)/4096
and a3.val<=(@n-a5.val*65536-a4.val*4096)
and a1.val+a2.val*16<=@n-(a3.val*256+a4.val*4096+a5.val*65535)
order by a1.val | a2.val*16 | a3.val*256 | a4.val*4096 | a5.val*65536
select
t1.n + t2.n*10 + t3.n*100
from
(select 0 as n union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6
union all select 7 union all select 8 union all select 9) t1
cross join
(select 0 as n union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6
union all select 7 union all select 8 union all select 9) t2
cross join
(select 0 as n union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6
union all select 7 union all select 8 union all select 9) t3
where
t1.n + t2.n*10 + t3.n*100 < 666
order by
1
* A [INNER] JOIN B ON A.Field1 = B.Field2 - внутренее соединение, наиболее частая операция, выражается также без JOIN'а через WHERE:
SELECT ... FROM A,B WHERE A.Field1 = B.Field2
Если для какой-то записи из A не найдется записей из B, удовлетворяющих заданному условию соединения — то в результате таких записей из A не будет.
* A LEFT [OUTER] JOIN B ON A.Field1 = B.Field2 - левое внешнее соединение. Тоже очень частая операция. Все то же самое, что и внутренее, но если для записи из A не нашлось ни одной записи из B, то в результат уйдет ОДНА запись, у которой поля A — из записи таблицы A, а поля B — NULL
* A RIGHT [OUTER] JOIN B ON A.Field1 = B.Field2 эквивалентно
B LEFT [OUTER] JOIN A ON B.Field2 = A.Field1, только столбцы местами обменяются.
* A FULL [OUTER] JOIN B ON A.Field1 = B.Field2 - полное внешнее соединение.
Ну, тут уже пора самому догадаться, что это такое.
Все пары записей, удовлетворяющие условию — в результат. Для тех записей из A, для которых не нашлось пары — в результате одна запись с NULL в полях B.Для тех записей из B, для которых не нашлось пары — в результате одна запись с NULL в полях A.
---
Посмотрим на один пример. Дана таблица с ценами продуктов, нужно выполнить ежемесячное обновление цен; новые цены хранятся в другой таблице.
UPDATE ProductPrices
SET price = (SELECT N.price
FROM NewPrices AS N
WHERE N.sku = ProductPrices.sku),
effective_start_date = CURRENT_TIMESTAMP
WHERE EXISTS(SELECT *
FROM NewPrices AS N
WHERE N.sku = ProductPrices.sku);
SELECT C.color
FROM Colors AS C
WHERE NOT EXISTS(SELECT *
FROM Products AS P
WHERE C.color = P.color);
SELECT C.color
FROM Colors AS C
LEFT OUTER JOIN Products AS P
ON C.color = P.color
WHERE P.color IS NULL;
Logger.Log( Str( "" ) );
RichEdit1.SelStart:=200;
RichEdit1.Perform(EM_SCROLLCARET,0,0);
RichEdit1.SetFocus;
SendMessage(RichEdit1.Handle,WM_KEYDOWN,VK_RIGHT,0);
SendMessage(RichEdit1.Handle,WM_KEYDOWN,VK_LEFT,0);
mysqldump --opt db_name | mysql --host=remote_host -C db_name
SELECT a,b,a+b INTO OUTFILE '/tmp/result.text'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;