sql

SQL MSSQL INSERT SELECT

in

Чотбы вставить в таблицу запись с зависимостью от значений полей другой таблицы, в MSSQL можно использовать синтаксис INSERT с SELECT

Пример:

Для таблицы table1 с полями

RefId - указатель на запись в root_table

RefCount - числовое поле

RefText - текстовое поле

Можно использовать следующий SQL запрос привязывающий запись в table1 с записью root_table с Id = 1:

VS2005 Добавление нового источника данных с SQL server (MSSQL 2005/Express)

Если при попытке добавить новый источник данных с SQL сервера выдается сообщение об отсутствии Интерфейса вида:

 

SQL UPDATE таблицы из ее же полей

in

Если появляется необходимость заполниеть полей таблицы в зависимости от значений полей той-же или друго таблицы, то будет работать следующий запрос.

 UPDATE r1 
 SET r1.OKATOREGID = r2.OKATOREGID
 FROM NewRegions AS r1
 INNER JOIN   NewRegions AS r2 ON 
   r1.ParentRegionId = r2.RegionId AND r2.OKATOREGID IS NOT NULL
 CROSS JOIN  r1

MySQL backup restore

in

1.Сохранение базы

mysqldump -uUSERNAME -pPASSWORD Databasename >20090224.sql

Большие базы удобнее сразу паковать

mysqldump -uUSERNAME -pPASSWORD Databasename |gzip >20090224.sql.gz

2. Восстановление из текстового дампа

mysql –u USERNAME –pPASSWORD BASENAME <dump.sql

Восстановить базу из архива

MSSQL Создание SQL базы при инсталляции

in

0. Утилита MSSQL sqlcmd находится на SQL сервере примерно здесь: "c:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE"

Для соединения к базе с правами пользователя Windows (Доверенное соединение) нужно использовать параметр -E

Для соединения к базе с использованием пароля нужно использовать параметры -Uusername -Ppassword

1. создаем базу

sqlcmd -Sservername -E -Q"CREATE DATABASE NEWBASE"

2. Запускаем скрипт создания структуры базы

sqlcmd -Sservername -ddatabase -E -ischemafile

MSSQL Server переименовываем компьютер

in

Чтобы изменить параметры MS SQL Server 2005 при переименовании компьютера

(Пример для SQL Express)

1. Запускаем:

exec sp_dropserver 'OLDCOMPUTERNAME\sqlexpress'

go

exec sp_addserver 'OLDCOMPUTERNAME\sqlexpress','local'

go

2. Перезапускаем sql Server

3. Проверяем:

MS SQL Заполнение (Вставка) таблицы из csv файла

in

Пакетная вставка работает быстро.

В нашем примере количество колонок и их тип должен соответствовать структуре таблицы в базе

FIELDTERMINATOR - задаем разделитель полей (Обычно , ; или \t знак табуляции) ROWTERMINATOR - ряды разделяются обычно переводом строки \n

BULK INSERT Documents FROM 'c:\filename.csv' WITH ( FIELDTERMINATOR = ';'', ROWTERMINATOR = '\n' )

Interbase/Firebird удаление из базы мусора (сжатие)

in

После удаления записей, отмены транзакций и прочих опрераций с данными файл базы разростается. Это обусловлено необходимостью повышением скорости работы сервера. Для того чтобы придать базе надлежащие размеры можно использовать в локальном режиме утилиту GBAK или API сервера.
Необходимо сделать резервную копию базы, а затем восстановить ее. При этом происходит естественный отсев всей бесполезной информации.
Для разработчиков отлаживающих приложения более всего подойдет сервисные функции IBExpert backup/restore

ADO чтение Excel (тонкости)

Введение

Здесь должен быть пример соединения с xls фалом и чтением через ADO, но видимо появиться он позже(возможно по требованиям читателей).

 

1. Русские имена и спец. символы в названиях Закладок (Sheet-ов) Чтобы правильно читались имена закладок следует использовать Microsoft.Jet версии 4.0 и выше, а также в Extended Properties прописать Excel 8.0.

 

SQL удаление дублей в таблицах MySQL

in

Для удаления полных дубликатов записей в общем виде достаточно выполнить distinct select во временную таблицу и заполнить из нее обрабатываемую таблицу заново

Для MySQL

RSS-материал