আপনি ব্যবহার করতে পারেন এমন তিনটি উপায় রয়েছে: রিটার্ন মান এবং OUTPUT প্যারামিটার এবং ফলাফল সেট
এছাড়াও, আপনি যদি প্যাটার্নটি ব্যবহার করেন তবে দেখুন: SELECT @Variable=column FROM table ...
যদি কোয়েরি থেকে একাধিক সারি ফিরে আসে, তবে আপনার @ পরিবর্তনশীলটিতে ক্যোয়ারী দ্বারা ফিরে আসা সর্বশেষ সারিটির মান থাকবে।
আপনার ক্যোয়ারী অন্ততপক্ষে কীভাবে এটির নাম রেখেছিল তার উপর ভিত্তি করে আপনার ক্যোয়ারী কোনও ইনট ফিল্ড প্রত্যাবর্তন করে ভ্যালু প্রত্যাবর্তন করে। আপনি এই কৌশলটি ব্যবহার করতে পারেন:
CREATE PROCEDURE GetMyInt
( @Param int)
AS
DECLARE @ReturnValue int
SELECT @ReturnValue=MyIntField FROM MyTable WHERE MyPrimaryKeyField = @Param
RETURN @ReturnValue
GO
এবং এখন আপনার পদ্ধতিটি কল করুন:
DECLARE @SelectedValue int
,@Param int
SET @Param=1
EXEC @SelectedValue = GetMyInt @Param
PRINT @SelectedValue
এটি কেবল আইএনটি-র জন্যই কাজ করবে, কারণ রিটার্ন কেবলমাত্র একটি একক মানের মান দিতে পারে এবং নালগুলি শূন্যে রূপান্তরিত হয়।
আউটপুট
প্যারামিটার আপনি একটি আউটপুট প্যারামিটার ব্যবহার করতে পারেন:
CREATE PROCEDURE GetMyInt
( @Param int
,@OutValue int OUTPUT)
AS
SELECT @OutValue=MyIntField FROM MyTable WHERE MyPrimaryKeyField = @Param
RETURN 0
GO
এবং এখন আপনার পদ্ধতিটি কল করুন:
DECLARE @SelectedValue int
,@Param int
SET @Param=1
EXEC GetMyInt @Param, @SelectedValue OUTPUT
PRINT @SelectedValue
আউটপুট প্যারামিটারগুলি কেবল একটি মান ফেরত দিতে পারে তবে যে কোনও ডেটা টাইপ হতে পারে
ফলাফল সেট
ফলে জন্য পদ্ধতি মত সেট করুন:
CREATE PROCEDURE GetMyInt
( @Param int)
AS
SELECT MyIntField FROM MyTable WHERE MyPrimaryKeyField = @Param
RETURN 0
GO
এটি ব্যবহার করুন:
DECLARE @ResultSet table (SelectedValue int)
DECLARE @Param int
SET @Param=1
INSERT INTO @ResultSet (SelectedValue)
EXEC GetMyInt @Param
SELECT * FROM @ResultSet
ফলাফল সেটগুলিতে অনেকগুলি সারি এবং যে কোনও ডেটা ধরণের অনেক কলাম থাকতে পারে