[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
$sqlServer = new-object ("Microsoft.SqlServer.Management.Smo.Server") "test\testsqlserver"
foreach($sqlDatabase in $sqlServer.databases) {$sqlDatabase.name}
SQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
SQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
21 Aralık 2016 Çarşamba
9 Ekim 2014 Perşembe
Sql Pivoting (Rotating Table)
Sql Query yapısında bazen bir tabloyu döndürmek isteyebiliriz.
Bunun için Pivoting adı verilen sql query yapısını kullanabiliriz.
Bunun için Pivoting adı verilen sql query yapısını kullanabiliriz.
- Normal bir Sql işlemi yapalım.
Sonuç:
- Pivot Kullanarak Tablomuzun bakış açısını değiştirelim.
Sonuç:
http://technet.microsoft.com örneğidir.
5 Ağustos 2014 Salı
23 Temmuz 2014 Çarşamba
Sql Merge
MERGE [hint] INTO [table_name]
USING (table_view_or_query)
ON (condition)
WHEN MATCHED THEN (update_clause)
WHEN NOT MATCHED THEN (insert_clause);
- Employee Tablosu oluşturuyoruz. (Create Employee Table)
CREATE TABLE employee (
employee_id int,
first_name varchar(20),
last_name varchar(20),
dept_no varchar(2),
salary money);
- Employee Tablosuna değerleri giriyoruz. (Inset values in to the Employee Table)
INSERT INTO employee VALUES (1, 'Dan', 'Morgan', 10, 100000);
INSERT INTO employee VALUES (2, 'Jack', 'Cline', 20, 100000);
INSERT INTO employee VALUES (3, 'Elizabeth', 'Scott', 20, 50000);
INSERT INTO employee VALUES (4, 'Jackie', 'Stough', 20, 40000);
INSERT INTO employee VALUES (5, 'Richard', 'Foote', 20, 30000);
INSERT INTO employee VALUES (6, 'Joe', 'Johnson', 20, 70000);
INSERT INTO employee VALUES (7, 'Clark', 'Urling', 20, 90000);
- Bonus Tablosu Oluşturuyoruz. (Create Bonuses Table)
CREATE TABLE bonuses (
employee_id int, bonus int DEFAULT 100);
- Bonus Tablosuna değerleri giriyoruz. (Insert Values in to the Bonuses Table)
INSERT INTO bonuses (employee_id) VALUES (1);
INSERT INTO bonuses (employee_id) VALUES (2);
INSERT INTO bonuses (employee_id) VALUES (4);
INSERT INTO bonuses (employee_id) VALUES (6);
INSERT INTO bonuses (employee_id) VALUES (7);
- Aşağıdaki Query'i yazıyoruz. (Write the below Query Code)
Burada eşleştirme yapıyoruz. Dept_no 20 olan verilerin bonus değeri maaşları 0.1 ile çarpılmasıyla hesaplanmış oluyor.
Eğer eşleşmiyorsa Kişini Maaş bonusu maaşının 0.05 ile çarpmı ile Bonuses tablosuna ekleniyor.
Merge INTO bonuses B
USING (
SELECT employee_id,salary from employee where Dept_no=20) E
ON (B.employee_id=E.employee_id)
WHEN MATCHED THEN
UPDATE SET B.bonus =(E.salary * 0.1)
WHEN NOT MATCHED THEN
INSERT (employee_id,bonus)
VALUES (E.employee_id,(E.salary * 0.05));
Kaydol:
Kayıtlar (Atom)