PDA

View Full Version : درخواست راهنمايي براي ساخت دو كوئري و يا پرديجستور با قابليت مقدار برگشتي



hrj1981
یک شنبه 10 آذر 1392, 15:30 عصر
سلام و وقت بخير
دوستان من براي دو تا مورد زير ازتون كمك و راهنمايي ميخوام
1.ميخوام يك پرديجستور بسازم كه مثلا جمع تعداد يك عدد رو به من برگردونه
2.ميخوام يك پرديجستور بسازم كه بهم اعلام كنه يك مقدار داخل توي جدول هست يا نه (عملا كار EOF رو انجام بده)

fakhravari
یک شنبه 10 آذر 1392, 16:37 عصر
http://barnamenevis.org/showthread.php?364353-%D8%A7%D9%86%D9%88%D8%A7%D8%B9-Functions

hrj1981
دوشنبه 11 آذر 1392, 07:54 صبح
با تشكر از راهنمايي هاي شما
ميخواستم اگر زحمتي نيست يك نمونه سورس بذاريد كه عمليات زير رو انجام بده
ابتدا بياد يك مقدار رو تو تيبل جستجو كنه ( مثلا شماره دانشجو) اگر نبود بوسيله Insert ركورد رو تو جدول اضافه كنه و اگر بود اونو Update كن

hrj1981
سه شنبه 12 آذر 1392, 12:27 عصر
سلام
دوستان من مشكل بالا رو خودم حل كردم فقط يك سوال داشتم
آيا ميشه در يك PROCEDUR مقدار يك فيلد رو از select پر كرد ؟(ممنون ميشم با ذكر مثال ساده راهنمايي كنيد)

fakhravari
سه شنبه 12 آذر 1392, 16:03 عصر
Declare @sql nvarchar(20) = (select name from t1 where id=1)
select @sql

hrj1981
چهارشنبه 13 آذر 1392, 21:01 عصر
Declare @sql nvarchar(20) = (select name from t1 where id=1)
select @sql
ممنون از راهنماییهاتتون
چه جوری میشه همین نمونه سورس را در داخل این نمونه وارد نمود

ALTER PROCEDURE [dbo].[EnrollmentSub_InsertUpdate]
@Enrollment_Sub_ID nvarchar(50)="0",
@Enrollment_ID nvarchar(50)="0",
@Student_ID nvarchar(50)="0",
@Student_NationalCode nvarchar(10)="0320546985",
@Session_ID nvarchar(50)="0",
@UnderSession_ID nvarchar(50)="0",
@Lesson_ID nvarchar(50)="0",
@Lesson_Code nvarchar(10)="0",
--@Lesson_Name nvarchar(50)=" " ,
@Tuition_Price DECIMAL(12)=0,
@CommissionLevel1 DECIMAL(12)=0,
@CommissionLevel2 DECIMAL(12)=0
WITH RECOMPILE
AS
BEGIN
IF EXISTS (SELECT Enrollment_Sub_ID,Enrollment_ID FROM Tbl_Enrollment_Sub WHERE Enrollment_ID=@Enrollment_ID AND Enrollment_Sub_ID=@Enrollment_Sub_ID)
UPDATE Tbl_Enrollment_Sub SET
Enrollment_ID=@Enrollment_ID,
Student_ID=@Student_ID,
Student_NationalCode=@Student_NationalCode,
Session_ID=@Session_ID,
UnderSession_ID=@UnderSession_ID,
Lesson_ID=@Lesson_ID,
Lesson_Code=@Lesson_Code,
--Lesson_Name=@Lesson_Name,
Tuition_Price=@Tuition_Price,
CommissionLevel1=@CommissionLevel1,
CommissionLevel2=@CommissionLevel2
WHERE
Enrollment_ID=@Enrollment_ID
AND
Enrollment_Sub_ID=@Enrollment_Sub_ID

ELSE
INSERT INTO Tbl_Enrollment_Sub
(
Enrollment_ID,
Student_ID,
Student_NationalCode,
Session_ID,
UnderSession_ID,
Lesson_ID,
Lesson_Code,
--Lesson_Name,
Tuition_Price,
CommissionLevel1,
CommissionLevel2
)
VALUES
(
@Enrollment_ID,
@Student_ID,
@Student_NationalCode,
@Session_ID,
@UnderSession_ID,
@Lesson_ID,
@Lesson_Code,
--@Lesson_Name,
@Tuition_Price,
@CommissionLevel1,
@CommissionLevel2
)
-- routine body goes here, e.g.
-- SELECT 'Navicat for SQL Server'
END