?
Solved

sql server stored procedure while loop

Posted on 2008-10-08
15
Medium Priority
?
14,247 Views
Last Modified: 2008-10-08
Hi all

i have the following stored procedure but it doesnt return any value for me and seems to loop indefinately

ALTER PROCEDURE [dbo].[spGetRootId]
      @menuid int,
      @parentid int = NULL,
      @returnmenuid int = NULL,
      @initialmenuid int = NULL
AS
BEGIN
      SET NOCOUNT ON;
      SET @parentid = 1
      SET @initialmenuid = @menuid
      WHILE @parentid != 0
            BEGIN
                  SELECT @returnmenuid = menuId, @parentid = parentId FROM siteMenues WHERE menuId = @initialmenuid
                  --PRINT @returnmenuid
                  IF @parentid = 0
                        --PRINT @returnmenuid      
                        BREAK
                  ELSE
                        SET @initialmenuid = @returnmenuid
                        SET @parentid = @parentid
                        CONTINUE      
            END
      PRINT @returnmenuid
END

thanks in advance
0
Comment
Question by:andrew67
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 6
  • 2
15 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22667609
please try this:
ALTER PROCEDURE [dbo].[spGetRootId]
      @menuid int,
      @parentid int = NULL,
      @returnmenuid int = NULL,
      @initialmenuid int = NULL
AS
BEGIN
      SET NOCOUNT ON;
      SET @parentid = 1
      SET @initialmenuid = @menuid
      WHILE @parentid != 0 AND @parentid IS NOT NULL
            BEGIN
                  SELECT @returnmenuid = menuId, @parentid = parentId FROM siteMenues WHERE menuId = @initialmenuid
                  --PRINT @returnmenuid
                  IF @parentid = 0
                        --PRINT @returnmenuid      
                        BREAK
                  ELSE
                  BEGIN
                        SET @initialmenuid = @returnmenuid
                        SET @parentid = @parentid
                        CONTINUE      
                  END
            END
      PRINT @returnmenuid
END

Open in new window

0
 
LVL 3

Author Comment

by:andrew67
ID: 22667683
Hi thanks for that

unfortunately it seems to loop infinitely and eventually throws the error

Timeout expired. the timeout period elapsed prior to completion of the operation or the server is not responding

thanks
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22667689
well, let's "kill" the loop after 10 runs:
ALTER PROCEDURE [dbo].[spGetRootId]
      @menuid int,
      @parentid int = NULL,
      @returnmenuid int = NULL,
      @initialmenuid int = NULL
AS
BEGIN
      SET NOCOUNT ON;
DECLARE @run_control INT
SET @run_control = 0
 
      SET @parentid = 1
      SET @initialmenuid = @menuid
      WHILE @parentid != 0 AND @parentid IS NOT NULL AND @run_control < 10
            BEGIN
   SET @run_control = @run_control + 1
   PRINT @run_control
 
                  SELECT @returnmenuid = menuId, @parentid = parentId FROM siteMenues WHERE menuId = @initialmenuid
                  --PRINT @returnmenuid
                  IF @parentid = 0
                        --PRINT @returnmenuid      
                        BREAK
                  ELSE
                  BEGIN
                        SET @initialmenuid = @returnmenuid
                        SET @parentid = @parentid
                        CONTINUE      
                  END
            END
      PRINT @returnmenuid
END

Open in new window

0
More Than Just A Video Library

Train for your certification. Learn the latest DevOps tools. Grow your skillset to do better work.

At Linux Academy, we release new training modules every week so you'll always be up to date on the latest tech.

 
LVL 3

Author Comment

by:andrew67
ID: 22667740
Hi it runs now but it still doesnt return any value to me

thanks

andrew
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22667807
you have to uncomment the print statements you had, and look at the output...
0
 
LVL 3

Author Comment

by:andrew67
ID: 22667831
if i uncomment the first one nothing changes, if i uncomment the second one i get the following error

Msg 156, Level 15, State 1, Procedure spGetRootId, Line 29
Incorrect syntax near the keyword 'ELSE'.
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22667867
yes, because a BEGIN END will be needed
ALTER PROCEDURE [dbo].[spGetRootId]
      @menuid int,
      @parentid int = NULL,
      @returnmenuid int = NULL,
      @initialmenuid int = NULL
AS
BEGIN
      SET NOCOUNT ON;
DECLARE @run_control INT
SET @run_control = 0
 
      SET @parentid = 1
      SET @initialmenuid = @menuid
      WHILE @parentid != 0 AND @parentid IS NOT NULL AND @run_control < 10
            BEGIN
   SET @run_control = @run_control + 1
   PRINT @run_control
 
                  SELECT @returnmenuid = menuId, @parentid = parentId 
                    FROM siteMenues 
                    WHERE menuId = @initialmenuid
                  PRINT @returnmenuid
                  IF @parentid = 0
                  BEGIN
                        PRINT @returnmenuid      
                        BREAK
                  END
                  ELSE
                  BEGIN
                        SET @initialmenuid = @returnmenuid
                        SET @parentid = @parentid
                        CONTINUE      
                  END
            END
      PRINT @returnmenuid
END

Open in new window

0
 
LVL 3

Author Comment

by:andrew67
ID: 22667904
hi sorry but its still not returning any value, just telling me that the query has executed successfully

would it help if i gave you the table as well?
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22667927
yes, the CREATE TABLE and the INSERT statements for some sample data would make it easy for me.
0
 
LVL 5

Expert Comment

by:Cvijo123
ID: 22668026
If you will use this SP alot i suggest u make new field in table to store full path to your item, so getting your root menu or any child menu would be faster and easier (of course putting index on that field would be good performance boost).

I can make u example when u past your table and data if u like.
0
 
LVL 3

Author Comment

by:andrew67
ID: 22668096
table script:

USE [db]
GO
/****** Object: Table [dbo].[siteMenues] Script Date: 10/08/2008 12:46:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[siteMenues](
[menuId] [int] IDENTITY(1,1) NOT NULL,
[parentId] [int] NOT NULL,
[titleText] [varchar](300) COLLATE Latin1_General_CI_AS NOT NULL,
[accessLevel] [int] NOT NULL,
[orderId] [int] NOT NULL,
[displayStatus] [int] NULL,
[emailLink] [int] NULL,
[site] [int] NULL CONSTRAINT [DF_siteMenues_site] DEFAULT (0)
) ON [PRIMARY]
 
GO
SET ANSI_PADDING OFF

Open in new window

0
 
LVL 3

Author Comment

by:andrew67
ID: 22668109
data part:

INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (1,0,'What is ddd?',1,1,1,NULL,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (2,0,'Is ddd For you?',1,2,1,NULL,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (3,0,'Using ddd',1,3,1,NULL,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (101,0,'Features of ddd',1,2,1,NULL,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (102,0,'Safety of ddd',1,3,1,NULL,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (103,0,'Prescribing ddd',1,4,1,NULL,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (88,0,'What is ddd?',1,1,1,NULL,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (104,0,'Resources',1,5,1,NULL,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (106,1,'How Effective is ddd?',1,2,1,1,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (107,1,'Are There Any Site-Effects?',1,3,1,1,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (108,107,'test?',1,1,0,1,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (109,2,'What Are My Contraceptive Choices?',4,1,1,1,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (111,2,'What Do Other Women Say?',4,3,1,1,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (100,0,'My ddd',1,5,1,NULL,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (114,88,'How Does ddd Work?',1,1,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (115,114,'How to Use ddd',4,1,0,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (117,101,'Efficacy',1,1,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (120,101,'User Compliance',4,4,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (121,101,'Compare Products',4,5,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (122,102,'Adverse Events',1,1,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (123,102,'Tolerability',4,2,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (124,103,'Abbreviated Prescribing Information',1,1,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (110,2,'Talking to Your Doctor',4,2,1,1,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (116,88,'How to Use ddd',1,2,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (118,101,'Cycle Control',1,2,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (126,103,'Patient Suitability',4,3,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (127,103,'Counselling Women',4,4,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (128,103,'Switching to ddd',4,5,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (130,103,'Ongoing Prescribing',4,7,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (68,0,'Common Questions',1,4,1,1,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (112,3,'How Do You Insert ddd?',1,1,1,1,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (113,3,'How Do You Remove ddd?',1,2,1,1,1)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (119,101,'Withdrawal Bleed',1,3,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (125,103,'Questions Women May Ask',1,2,1,1,2)
INSERT INTO siteMenus (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site)
VALUES (129,103,'Storage',1,6,1,1,2)

Open in new window

0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 200 total points
ID: 22668225
ok, here the updated procedure and usage:

CREATE PROCEDURE [dbo].[spGetRootId]
      @menuid int,
      @returnmenuid int = NULL OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @run_control INT
DECLARE @initialmenuid int 
 
SET @run_control = 0
 
SET @returnmenuid = @menuid
 
WHILE @menuid IS NOT NULL AND @menuid <> 0 AND @run_control < 10
BEGIN
   SELECT @returnmenuid = parentId 
     FROM siteMenus 
    WHERE menuId = @menuid
        
   IF @returnmenuid IS NULL OR @returnmenuid = 0
   BEGIN
     SET @returnmenuid = @menuid
     SET @menuid = NULL
   END 
   ELSE 
   BEGIN
     SET @menuid = @returnmenuid
   END
   SET  @run_control  =  @run_control + 1
END
 
END
 
GO
 
declare @menuid int
declare @returnmenuid int 
set @menuid = 129
exec [dbo].[spGetRootId] @menuid, @returnmenuid output
select @returnmenuid

Open in new window

0
 
LVL 5

Expert Comment

by:Cvijo123
ID: 22668400
as i said here is my example how woud i solve getting child's or parent's from some node.

here is code to make example data:

CREATE TABLE [siteMenus_test]
(
      [menuId] [int] NOT NULL,
      [parentId] [int] NOT NULL,
      [titleText] [varchar](300) COLLATE Latin1_General_CI_AS NOT NULL,
      [accessLevel] [int] NOT NULL,
      [orderId] [int] NOT NULL,
      [displayStatus] [int] NULL,
      [emailLink] [int] NULL,
      [site] [int] NULL DEFAULT (0),
                  [path] varchar(50) null
) ON [PRIMARY]




INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)              VALUES (1,0,'What is ddd?',1,1,1,NULL,1, '1#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (2,0,'Is ddd For you?',1,2,1,NULL,1, '2#' )
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (3,0,'Using ddd',1,3,1,NULL,1, '3#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (101,0,'Features of ddd',1,2,1,NULL,2, '101#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (102,0,'Safety of ddd',1,3,1,NULL,2, '102#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (103,0,'Prescribing ddd',1,4,1,NULL,2, '103#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (88,0,'What is ddd?',1,1,1,NULL,2, '88#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (104,0,'Resources',1,5,1,NULL,2, '104#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (106,1,'How Effective is ddd?',1,2,1,1,1, '1#106#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (107,1,'Are There Any Site-Effects?',1,3,1,1,1, '1#107#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (108,107,'test?',1,1,0,1,1, '1#107#108#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (109,2,'What Are My Contraceptive Choices?',4,1,1,1,1, '2#109#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (111,2,'What Do Other Women Say?',4,3,1,1,1, '2#111#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (100,0,'My ddd',1,5,1,NULL,1, '100#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (114,88,'How Does ddd Work?',1,1,1,1,2, '88#114#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (115,114,'How to Use ddd',4,1,0,1,2, '88#114#115#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (117,101,'Efficacy',1,1,1,1,2, '101#117#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (120,101,'User Compliance',4,4,1,1,2, '101#120#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (121,101,'Compare Products',4,5,1,1,2, '101#121#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (122,102,'Adverse Events',1,1,1,1,2, '102#122#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (123,102,'Tolerability',4,2,1,1,2, '102#123#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (124,103,'Abbreviated Prescribing Information',1,1,1,1,2, '103#123#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (110,2,'Talking to Your Doctor',4,2,1,1,1, '2#110#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (116,88,'How to Use ddd',1,2,1,1,2, '88#116#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (118,101,'Cycle Control',1,2,1,1,2, '101#118#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (126,103,'Patient Suitability',4,3,1,1,2, '103#126#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (127,103,'Counselling Women',4,4,1,1,2, '103#127#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (128,103,'Switching to ddd',4,5,1,1,2, '103#128#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (130,103,'Ongoing Prescribing',4,7,1,1,2, '103#130#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (68,0,'Common Questions',1,4,1,1,1, '68#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (112,3,'How Do You Insert ddd?',1,1,1,1,1, '3#112#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (113,3,'How Do You Remove ddd?',1,2,1,1,1, '3#113#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (119,101,'Withdrawal Bleed',1,3,1,1,2, '101#119#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (125,103,'Questions Women May Ask',1,2,1,1,2, '103#125#')
INSERT INTO siteMenus_test (menuId, parentId, titleText, accessLevel, orderId, displayStatus, emailLink, site, path)      VALUES (129,103,'Storage',1,6,1,1,2, '103#129#')


and here is code to get child's, parent's or top node, but keep in mind that when u add or edit some node u need to change path field too (u can make SQL function to do that):

declare @path varchar(100)
 
--------- GET ALL PARENTS FROM SELECTED MENUID ---------
 
Select @path = path from siteMenus_test where menuId = 108
Select * from siteMenus_test where  @path like path + '%' 
 
--------------------------------------------------------
 
--------- GET ALL CHILDS FROM SELECTED MENUID ---------
 
Select @path = path from siteMenus_test where menuId = 2
Select * from siteMenus_test where path like @path + '%'
 
--------------------------------------------------------
 
 
--------- GET FIRST MENU (NOD) FROM SELECTED MENUID ---------
 
Select @path = path from siteMenus_test where menuId = 108
Select top 1 * from siteMenus_test where  @path like path + '%' order by path
 
-------------------------------------------------------

Open in new window

0
 
LVL 3

Author Comment

by:andrew67
ID: 22668431
mega thanks
0

Featured Post

Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question