Notes
![]() ![]() Notes - notes.io |
STORED PROCEDURE: SAKLI YORDAM
*/
use Bahçeişleri_
SP_RENAME : vt nesnelerinin adını değiştirmek için
SP_RENAME 'dbo.İzmirMüş' , 'İzmirliMüşteri'
sp_changeowner : vt nesnelerinin sahibini değiştirmek için?????
sp_changeowner 'Bahçeişleri' , 'sa' -- ?????
sp_help : vt hakkında bilgi
sp_help 'dbo.EmekliBul'
sp_helptext : vt nesnesini oluşturan sql script verir
sp_helptext 'dbo.Emeklibul'
sp_depends verilen vt nesnesine dayanan vt nesnelerini verir
sp_depends 'Siparişler' -- siparişler tablosunun çağırıldığı 3 görünüm
sp_depends 'Ürünler' -- görünüm, fonksiyon ve yordamlar listelendi
-- kullanıcı nasıl yordam yaratır, değiştirir, siler
create procedure yordamadı
GirenDeğişkenler, ÇıkanDeğişkenler output
as
begin
sql ifadeler
...
end
/* saklı yordamların özellikleri
1) vt nesneleridir, vt dosyasında bulunurlar, dosya ile taşınırlar,
2) verilerin yordama aktarılmasına, işlenmesine ve yordama çıktı alınmasını sağlar.
3) daha hızlı çalışmak için en iyi şekilde (optimum) depolanırlar.
4) bir sorgu içinde kullanılmazlar, sorgudan çağırılmazlar, (ama fonksiyonlar sonradan çağırtılabilirler örn. select (getdate()) */
-- Sİlinmesi:
drop procedure ProsedürAdı
-- Değiştirilmesi:
alter procedure prosedurAdı
--baştan tekrar yazılacak
create/alter/drop proc prosedürAdı
: procedure yerine proc yazılabilir
-- müşterileri listeleyen bir prosedür yazalım
create procedure MÜşteriListele
as
begin
select adı,soyadı,il from MÜşteriler
end
-- oluşturulan sql script
sp_helptext MüşteriListele
alter proc MüşteriListele
as
begin
select ADı,Soyadı,İl,İlçe,Telefon from Müşteriler
order by il asc ilçe asc adı asc soyadı asc
end
MüşteriListele -- seçip F5
-- nesneyi silelim
drop proc MüşteriListele
-- giren değişken alan prosedür: verilen ilden müşterileri listeleyelim.
create proc MÜşteriListele @ili nvarchar(30)
as
begin
select Adı,Soyadı,İl,İlçe,Telefon from Müşteriler
where İl=@ili
order by İlçe asc, Adı asc, Soyadı asc
end
-- prosedürü Bursa ile çağıralım
MüşteriListele 'Bursa'
-- Prosedür çağırmanın 3 farklı yolu
1. Yol
MüşteriListele 'Bursa' -- seç F5
2. Yol prosedürüniçindeki değişkenile aynı adda bir değişken kullanma
değer ata
MÜşteriListele @ili='ankara' -- seç F5
3. Yol eğer değer bir değişken ile veriliyorsa:
declare @sehir nvarchar(30)
set @sehir='İstanbul' -- evvelce atanmış, örneğin uygulamadan geliyor.
Müşterininili @sehir -- Hata alırız neden?
sorun prosedürden sonra verilen değişken
son satırı yazı /string olarak düzenlememiz gerek ve yazı çalıştıran EXECUTE fonksiyonu ile icra etmek gerekiyor
execute('sp_helptext ankaralıMüş')
exec('print pi()')
declare @komut varchar(100)
set @komut = 'SELECT * FROM Müşteriler'
execute (@komut)
--
declare @sehir nvarchar(30)
set @sehir='istanbul' -- evvelce atanmış, örneğin uygulamadan geliyor.
execute('MüşterileriListele '+@sehir )
// Ürünler Tablosunun, ÜrünNo, ÜrünAd, BirimFiyat, StokMiktarı ve Tükendi
// kolonlarında ibaret olduğunu varsayarak, insert,update, delete
// ypaan birer prosedür yazınız öyle ki :
// eklenen ürün yoksa eklesin
// güncellenen ürün varsa güncellesin
// silinecek ürünün stokmiktarı sıfır ise silsin
select count(*) from Ürünler where ÜrünAd like '%zambak%'
declare @say int
select @say = count(*) from Ürünler where ÜrünAd like '%zam bak%'
if( @say>0 )
print 'VAR'
else
print 'YOK'
-- Ürün ekleyen prosedür, eklenen ürün adı yoksa eklesin
create procedure ÜrünEkle
@no int, @ad nvarchar(40), @fiyat money, @miktar smallint, @tuk bit,
@sonuc bit OUTPUT
as
begin
declare @say int
select @say = count(*) from Ürünler where ÜrünAd=@ad
if(@say<1)
begin
insert into Ürünler(ÜrünNo,ÜrünAd,BirimFiyat,StokMiktarı,Tükendi)
values(@no,@ad,@fiyat,@miktar,@tuk)
set @sonuc=1
end
else
set @sonuc=0
end
![]() |
Notes is a web-based application for online taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000+ notes created and continuing...
With notes.io;
- * You can take a note from anywhere and any device with internet connection.
- * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
- * You can quickly share your contents without website, blog and e-mail.
- * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
- * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.
Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.
Easy: Notes.io doesn’t require installation. Just write and share note!
Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )
Free: Notes.io works for 14 years and has been free since the day it was started.
You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;
Email: [email protected]
Twitter: http://twitter.com/notesio
Instagram: http://instagram.com/notes.io
Facebook: http://facebook.com/notesio
Regards;
Notes.io Team