Select Ve Update İle İlgili Sql Sorusu ?
-
Merhaba, yazmak istediğim bir sorgu var ve tek cümle içerisinde halletmem gerekiyor.
select * from uyeler where id=1
sorgusunu çalıştırırken aynı zamanda "hitler" tablosundaki "hit" alanının değerini 5 yapmam gerekiyor.
update hitler set hit=5
gibi. bu sorguyu tek satırda yazmam gerek. update sorgusunu başa alıp yapabilirim fakat bana lazım olan select sorgusunun dışarda olması. yani select sorgusunun bittiği yerde update sorgusunun çalışması gerekli. biraz tuhaf bir sorun ama ihtiyacım olan bu :) yardımcı olabilecek olan varsa şimdiden teşekkürler.
-
Iyi aksamlar hocam,subquery isini gorebilir biraz bak,olmazsa yarin tekrar ilgilenicem iyi calismalar
-
Fikret çok detaylı bilgim olmamasına rağmen trigger ları bir araştır derim.
İnsert den önce insert anında ve insert den sonra aktif olabiliyrlar. yalnız bu söylediğim bir tabloya data insert etme an ları:)
sorugu yapma anlarına müdahale edilir mi tam bilmiyorum. kolay gelsin..
-
Hocam sp yap sorunun çözülsün
-
renegadealien bunu yazdı:
-----------------------------
Hocam sp yap sorunun çözülsün
-----------------------------Kesinlikle katılıyorum sp yap parametresizde yapabilirsin spni istersen parametre de gönderebilirsini yani sabit bişi göndermiceksen sp ne @id bir input parametre eklemen yeterli ayrıca db sql se tabi access se subquery yazabilirsin.
Create Proc Sp_Uye_GoruntuleGuncelle
(
@Id int
)
AS
Begin
Update hitler Set
hit = '5',
Where Id = @Id
Select * From uyeler Where Id = @Id
End -
sp veya trigger kullanmamam gerekli. ihtiyacım olan tek satırlık bir sorgu. ayrıca @shimarik verdiğin sp'de update sorgusu select sorgusundan dışarda. konuda dediğim gibi update sorgusunu select sorgusunun bitiminde çalıştırmam gerekiyor.
@sharpshooter araştırıyorum şimdi, teşekkür ederim.edit: hocam benim kullandığım ve bildiğim kadarıyla in ve exists var ama bunların içerisinde select sorgusunu expression gibi kullanarak değer çekiyoruz. işte tam bu kısımda update sorgusu çalıştırabilir miyim lazım olan o, pek birşey bulamadım :/
-
senin ne anlatmak istediğini tam anlayamadım senin yapmak istediğin olay select ten gelen değer update etmekmi ?
-
hocam yapmak istediğim şey biraz mantıksız gelebilir ama bana bu şekilde lazım :) 2 sorgunun birbiriyle hiçbir ilişkisi olmasına gerek yok. apayrı 2 sorgu çalışacak fakat bunun tek satırda tek sorguda yapılması ve select sorgusunun update sorgusundan önce çalışması gerek.
-
normalde istediğin birbiri ile ilişkisi olmayan iki işlemi bir cümlede yapmak dediğim gibi t-sql olmadan bu imkansız ben 8 senelik program lama hayatımda bunu duymadım. neyse sana kendi kodumu veriyorum bu işlemi yapan bu işlem senin projen içinde yapılır sqlde yapılamaz.
Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordsetconn.Open "seninconnectionstringiyazburaya"
conn.BeginTransSet cmd = New ADODB.Command
With cmd
.CommandText = "select adi from tabl11"
.CommandType = adCmdText
Set .ActiveConnection = conn
.execute
End With
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenStatic, adLockBatchOptimistic
Set cmd.ActiveConnection = NothingListeleme için
For i = 1 To rs.RecordCount
msgbox(rs.Fields("Adı"))
rs.MoveNext
Next irs.Close
With conn
.execute("Update işlemi için gereken sql cümlenide buraya yaz")
If .Errors.Count > 0 Then
.RollbackTrans
Else
.CommitTrans
End If
.Close
End With -
hocam programlamaya yeni başlamış birisi değilim. bana bu işlemi yapan tek bir sql cümlesi lazım. ben de böyle birşey duymadım, belki bilen vardır diye konu açtım zaten :) yine de ilgin için teşekkürler.
-
tek satır :D
Execute("select * from uyeler where id=1") : Execute("update hitler set hit=5")
:D