Prosty kursor w SQL


declare @nr nvarchar(255)
declare @id_zamowienie int
declare @status nvarchar(255)
SET @nr = '2281887'
DECLARE wynik CURSOR FOR
select id_zamowienie, status from ZAMOWIENIE where nr_druku = @nr
OPEN wynik
FETCH NEXT FROM wynik INTO @id_zamowienie, @status
CLOSE wynik
DEALLOCATE wynik

String or binary data would be truncated


String or binary data would be truncated

Komunikat pokazuje się najcześciej w momencie uruchamiania sqla kopiujacego dane miedzy tabelami, których długości pól nvarchar sa nie rónej długości


insert into reklama_symbol (id_reklama, symbol)
select id_reklama, kod_reklamy
from slownik_reklama

np.


symbol nvarchar(12) 
kod_reklama nvarchar(50)

Przypisanie usera i uparanień między tabelami bazy wordpress

insert into vi_users (user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_activation_key, user_status, display_name)
SELECT user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_activation_key, user_status, display_name
from kd_users
where ID = 1

insert into vi_usermeta (umeta_id user_id meta_key meta_value)
SELECT umeta_id user_id meta_key meta_value
from kd_usermeta
where user_id = 1

Obróbka pliku z danymi

LOAD DATA INFILE 'D:\\dane_dane.txt' INTO TABLE dane

ALTER TABLE dane ADD KOLOR_N VARCHAR(255)  AFTER ksiazka
ALTER TABLE dane_kolory ADD KOLOR_N VARCHAR(255)  AFTER ksiazka
update dane set KOLOR_N = Replace (KOLOR, ' ', '')
create table kolory (KOLOR_N VARCHAR(255), cnt int(10));
insert into kolory (KOLOR_N, cnt) select KOLOR_N, count(*) from dane group by KOLOR_N
create table kolory_w1 (KOLOR_N VARCHAR(255), cnt int(10));
insert into kolory_w1 (KOLOR_N, cnt) select KOLOR_N, cnt from kolory WHERE kolory.cnt > 1
insert into dane_kolory select dane.* from kolory_w1 LEFT JOIN dane ON kolory_w1.KOLOR_N = dane.KOLOR_N

alter table dane add index KOLOR_N_idx (KOLOR_N)
alter table kolory_w1 add index KOLOR_N_idx (KOLOR_N)
select dane_kolory.* into outfile 'd:\\dane_dane2.txt' from dane_kolory;

Wypełnianie bazy danymi z pliku, nowe, zmiany, usuniete

drop database mojedane2;
create database mojedane2;
use mojedane2;

create table nowe (klucz char(8), line text);
create table usuniete (klucz char(8), line text);
create table zmiany (klucz char(8), line text);

create table mojedane_old (klucz char(8), line text);
create table mojedane_new (klucz char(8), line text);

LOAD DATA INFILE 'D:\\mojedane\\05MAY.TXT' INTO TABLE mojedane_old
LOAD DATA INFILE 'D:\\mojedane\\05Jul.txt' INTO TABLE mojedane_new


insert into nowe (line) select mojedane_new.line from mojedane_new LEFT JOIN mojedane_old ON mojedane_new.klucz = mojedane_old.klucz WHERE mojedane_old.klucz is NULL;
select mojedane_new.line into outfile 'd:\\mojedane\\nowe.txt' from mojedane_new LEFT JOIN mojedane_old ON mojedane_new.klucz = mojedane_old.klucz WHERE mojedane_old.klucz is NULL;
insert into usuniete (line) select mojedane_old.line from mojedane_old LEFT JOIN mojedane_new ON mojedane_old.klucz = mojedane_new.klucz WHERE mojedane_new.klucz is NULL;
select mojedane_old.line into outfile 'd:\\mojedane\\usuniete.txt' from mojedane_old LEFT JOIN mojedane_new ON mojedane_old.klucz = mojedane_new.klucz WHERE mojedane_new.klucz is NULL;
insert into zmiany (line) select new.line from mojedane_new AS new, mojedane_old AS old where new.klucz = old.klucz AND new.line <> old.line
select new.line into outfile 'd:\\mojedane\\zmiany.txt' from mojedane_new AS new, mojedane_old AS old where new.klucz = old.klucz AND new.line <> old.line

Parsowanie adresu w Access

Świdwin, ul. Kołobrzeska 3, tel. 094 3654041

poszukiwnie przecinków:

Mid(Mid([pole3];InStr([pole3];",")+2);InStr(Mid([pole3];InStr([pole3];","));",");InStr(Mid([pole3];InStr([pole3];",")+2);",")-1)