SIGN UP MEMBER LOGIN:    
ARTICLE

Is it Possible to Use the Select Statement to Access Stored Procedures

Posted by Venkatesan Jayakantham Articles | SQL September 07, 2010
In this article you will learn how it possible to use the select statement to access stored procedures.
Reader Level:

HTML clipboard

In one of the difference between functions and stored procedures is, we can use the "select" statement in functions whereas we can't use the same in stored procedures.

Can we make this statement false????? Not completely but a little bit.

Before that, am trying to create a Linked server.

Goto SSMS -> Your DB Server -> ServerObjects -> Linked Server - > Create new Linked Server.

image1.gif

You will get a message box to type your Linked server. You need to provide the servername.

Specify whether it's SQL Server or not. If it's not SQL Server, provide necessary details to connect it.

image2.gif

The second window is authentication, you need to specify the credentials used to access the Linked Server.

image3.gif

The third window specifies the options to be provided for the Linked server. If everything is good. Click "Ok" button.

image4.gif

Now, your Linked Server is created.

image5.gif

Now, you can see your catalogs listed under the Linked Server.

image6.gif

Now, am trying to access the Linked Server's table,

SELECT * FROM LinkedServer.VENKATDB.dbo.VENKAT_TABLE

Awesome,

Am able to see my data.

image7.gif

Goto your Linked Server query window and create a procedure (use the below code)

DROP TABLE VENKAT_TABLE_LINKED
CREATE TABLE VENKAT_TABLE_LINKED (ID INT)
INSERT INTO VENKAT_TABLE_LINKED VALUES (1)
INSERT INTO VENKAT_TABLE_LINKED VALUES (2)
INSERT INTO VENKAT_TABLE_LINKED VALUES (3)
INSERT INTO VENKAT_TABLE_LINKED VALUES (4)
GO
DROP PROCEDURE VENKAT_PROCEDURE
GO
CREATE PROCEDURE VENKAT_PROCEDURE
AS
BEGIN
SELECT * FROM VENKAT_TABLE_LINKED
END
GO
EXEC VENKAT_PROCEDURE
GO


Now, your procedure is created in the Linked server and am trying to access that procedure from the actual server using select statement. Le's see how to do it.

This can be achieved using OpenQuery statement.

SELECT * FROM OPENQUERY ([LinkedServerName],'MASTER.DBO.VENKAT_PROCEDURE')

image8.gif

So, the statement is wrong :-)

The actual statement is, "Stored procedures can't use Select statement in it's own server"

Hope, you all agree with my statement.

Cheers,

Venkatesan Prabu .J

Login to add your contents and source code to this article
share this article :
post comment
 

I too have a same kind of thought, but your article really provided a good solution on it.

Posted by Manikavelu Velayutham Sep 07, 2010
Become a Sponsor
PREMIUM SPONSORS
  • Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
    Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!
Team Foundation Server Hosting
Become a Sponsor