Solved

sql server stored procedure while loop

Posted on 2008-10-08
15
14,122 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
  • 7
  • 6
  • 2
15 Comments
 
LVL 142

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 142

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
 
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 142

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 142

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
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
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 142

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 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 50 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

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Join & Write a Comment

If you find yourself in this situation “I have used SELECT DISTINCT but I’m getting duplicates” then I'm sorry to say you are using the wrong SQL technique as it only does one thing which is: produces whole rows that are unique. If the results you a…
Confronted with some SQL you don't know can be a daunting task. It can be even more daunting if that SQL carries some of the old secret codes used in the Ye Olde query syntax, such as: (+)     as used in Oracle;     *=     =*    as used in Sybase …
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
Viewers will learn how the fundamental information of how to create a table.

762 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now