Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 New to SQL Server Programming
 Stored Procedure Help

Author  Topic 

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 01:35:43
Dear Experts, Here is the stored procedure, while executing this, I'm getting the query instead of the result.if I've provided @type='c', or @type='v', or @type='e', the respective select statement I'm getting instead of the result of the query. please help me in this regard.



CREATE PROCEDURE [dbo].[CONTROLACC_PAGINACTION] (@ROWNUMBEGIN INT ,@ROWNUMEND INT,@BRANCHID VARCHAR(100),@CNTACCID VARCHAR(100),@TYPE CHAR(5))
AS
BEGIN
SET NOCOUNT ON
CREATE TABLE #DD (D01 VARCHAR(8000))
IF( @TYPE = 'C' )
BEGIN
INSERT INTO #DD VALUES('(SELECT DISTINCT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name, Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by, Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, CUSTOMER_STATUS status,''true'' [chk] FROM VCUSTOMER, OATABLE030 WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID UNION SELECT DISTINCT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name, Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by, Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, customer_status status ,''false'' [chk] FROM VCUSTOMER WHERE CUSTOMER_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1) AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1) order by chk ')
END
ELSE IF( @TYPE = 'V' )
BEGIN
INSERT INTO #DD VALUES('(SELECT DISTINCT VENDOR_ID ID, BRANCH_ID BRANCH_ID, VENDOR_CODE Customer_Code, VENDOR_NAME Customer_Name, Alias_Name Alias_Name, CONTACT_PERSON CONTACT_PERSON, CONTACT_TIMINGS CONTACT_TIMINGS, CREDIT_DAYS CREDIT_DAYS, CREDIT_LIMIT CREDIT_LIMIT, WEBSITE WEBSITE, EMAIL_ID EMAIL_ID, BANK_DETAILS BANK_DETAILS, REMARKS REMARKS, VENDOR_CAT VENDOR_CAT, VEN_GRP_ID VEN_GRP_ID, ONE_TIME ONE_TIME, VAT_No VAT_No, BLOCK BLOCK, PREFERD_VENDOR PREFERD_VENDOR, ''true'' [chk] FROM VVENDOR , OATABLE030 WHERE VENDOR_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID UNION SELECT DISTINCT VENDOR_ID ID, BRANCH_ID BRANCH_ID, VENDOR_CODE Customer_Code, VENDOR_NAME Customer_Name, Alias_Name Alias_Name, CONTACT_PERSON CONTACT_PERSON, CONTACT_TIMINGS CONTACT_TIMINGS, CREDIT_DAYS CREDIT_DAYS, CREDIT_LIMIT CREDIT_LIMIT, WEBSITE WEBSITE, EMAIL_ID EMAIL_ID, BANK_DETAILS BANK_DETAILS, REMARKS REMARKS, VENDOR_CAT VENDOR_CAT, VEN_GRP_ID VEN_GRP_ID, ONE_TIME ONE_TIME, VAT_No VAT_No, BLOCK BLOCK, PREFERD_VENDOR PREFERD_VENDOR, ''false'' [chk] FROM VVENDOR WHERE VENDOR_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1 ) and VVENDOR.BLOCK = ''Y'' AND (BRANCH_ID = @BRANCHID OR BRANCH_ID in (select Sub_Org_Id from ftblHasNoModuleBranch (@BRANCHID, ''FIN'')))) order by chk ')
END
ELSE IF( @TYPE = 'E' )
BEGIN
INSERT INTO #DD VALUES('(SELECT DISTINCT KA2TABLE010.COLUMN001 ID, KA2TABLE010.COLUMND01 BRANCH_ID, KA2TABLE010.COLUMN002 Customer_Code, KA2TABLE010.COLUMN004 Customer_Name, KA2TABLE010.COLUMN005 Alias_Name,''true'' [chk] FROM KA2TABLE010,OATABLE030 WHERE KA2TABLE010.COLUMN001 = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND KA2TABLE010.COLUMN017 = @BRANCHID UNION SELECT DISTINCT EMP_ID AS ID,BRANCH_ID AS BRANCH_ID, EMP_CODE AS Customer_Code, EMP_NAME AS Customer_Name,'' Alias_Name , ''false'' [chk] from VEMPLOYEE WHERE (EMP_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1)) AND BRANCH_ID = @BRANCHID) order by chk ')
END
SELECT *,ROWNUM = IDENTITY (INT, 1, 1) INTO #T FROM (select D01 from #DD ) TAB
SELECT * FROM #T WHERE ROWNUM BETWEEN @ROWNUMBEGIN AND @ROWNUMEND
DROP TABLE #T
DROP TABLE #DD
SET NOCOUNT OFF
END

THANK YOU VERY MUCH



Vinod
Even you learn 1%, Learn it with 100% confidence.

harsh_athalye
Master Smack Fu Yak Hacker

5581 Posts

Posted - 2007-05-18 : 01:58:33
You are again doing it wrong way.

Either do it this way:

SELECT *,ROWNUM = IDENTITY (INT, 1, 1) INTO #T 
FROM
(SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
CUSTOMER_STATUS status, 'true' [chk]
FROM VCUSTOMER, OATABLE030
WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID
UNION
SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
customer_status status , 'false' [chk]
FROM VCUSTOMER
WHERE CUSTOMER_ID NOT IN
(SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1)
AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1)
order by chk
) tab


or create table #t first and then insert data using INSERT INTO...SELECT syntax.

And remember, you will have to do this for all three queries.

Harsh Athalye
India.
"The IMPOSSIBLE is often UNTRIED"
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 02:10:30
It is saying incorrect syntax near order
I didn't find any syntax error Harsh

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

harsh_athalye
Master Smack Fu Yak Hacker

5581 Posts

Posted - 2007-05-18 : 02:15:52
[code]SELECT *,ROWNUM = IDENTITY (INT, 1, 1) INTO #T
FROM
(SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
CUSTOMER_STATUS status, 'true' [chk]
FROM VCUSTOMER, OATABLE030
WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID
UNION
SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
customer_status status , 'false' [chk]
FROM VCUSTOMER
WHERE CUSTOMER_ID NOT IN
(SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1)
AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1 --)
order by chk
) tab[/code]

Harsh Athalye
India.
"The IMPOSSIBLE is often UNTRIED"
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 02:16:19
quote:
Originally posted by sunsanvin

Dear Experts, Here is the stored procedure, while executing this, I'm getting the query instead of the result.if I've provided @type='c', or @type='v', or @type='e', the respective select statement I'm getting instead of the result of the query. please help me in this regard.



CREATE PROCEDURE [dbo].[CONTROLACC_PAGINACTION] (@ROWNUMBEGIN INT ,@ROWNUMEND INT,@BRANCHID VARCHAR(100),@CNTACCID VARCHAR(100),@TYPE CHAR(5))
AS
BEGIN
SET NOCOUNT ON
CREATE TABLE #DD (D01 VARCHAR(8000))
IF( @TYPE = 'C' )
BEGIN
INSERT INTO #DD VALUES('(SELECT DISTINCT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name, Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by, Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, CUSTOMER_STATUS status,''true'' [chk] FROM VCUSTOMER, OATABLE030 WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID UNION SELECT DISTINCT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name, Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by, Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, customer_status status ,''false'' [chk] FROM VCUSTOMER WHERE CUSTOMER_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1) AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1) order by chk ')
END
ELSE IF( @TYPE = 'V' )
BEGIN
INSERT INTO #DD VALUES('(SELECT DISTINCT VENDOR_ID ID, BRANCH_ID BRANCH_ID, VENDOR_CODE Customer_Code, VENDOR_NAME Customer_Name, Alias_Name Alias_Name, CONTACT_PERSON CONTACT_PERSON, CONTACT_TIMINGS CONTACT_TIMINGS, CREDIT_DAYS CREDIT_DAYS, CREDIT_LIMIT CREDIT_LIMIT, WEBSITE WEBSITE, EMAIL_ID EMAIL_ID, BANK_DETAILS BANK_DETAILS, REMARKS REMARKS, VENDOR_CAT VENDOR_CAT, VEN_GRP_ID VEN_GRP_ID, ONE_TIME ONE_TIME, VAT_No VAT_No, BLOCK BLOCK, PREFERD_VENDOR PREFERD_VENDOR, ''true'' [chk] FROM VVENDOR , OATABLE030 WHERE VENDOR_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID UNION SELECT DISTINCT VENDOR_ID ID, BRANCH_ID BRANCH_ID, VENDOR_CODE Customer_Code, VENDOR_NAME Customer_Name, Alias_Name Alias_Name, CONTACT_PERSON CONTACT_PERSON, CONTACT_TIMINGS CONTACT_TIMINGS, CREDIT_DAYS CREDIT_DAYS, CREDIT_LIMIT CREDIT_LIMIT, WEBSITE WEBSITE, EMAIL_ID EMAIL_ID, BANK_DETAILS BANK_DETAILS, REMARKS REMARKS, VENDOR_CAT VENDOR_CAT, VEN_GRP_ID VEN_GRP_ID, ONE_TIME ONE_TIME, VAT_No VAT_No, BLOCK BLOCK, PREFERD_VENDOR PREFERD_VENDOR, ''false'' [chk] FROM VVENDOR WHERE VENDOR_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1 ) and VVENDOR.BLOCK = ''Y'' AND (BRANCH_ID = @BRANCHID OR BRANCH_ID in (select Sub_Org_Id from ftblHasNoModuleBranch (@BRANCHID, ''FIN'')))) order by chk ')
END
ELSE IF( @TYPE = 'E' )
BEGIN
INSERT INTO #DD VALUES('(SELECT DISTINCT KA2TABLE010.COLUMN001 ID, KA2TABLE010.COLUMND01 BRANCH_ID, KA2TABLE010.COLUMN002 Customer_Code, KA2TABLE010.COLUMN004 Customer_Name, KA2TABLE010.COLUMN005 Alias_Name,''true'' [chk] FROM KA2TABLE010,OATABLE030 WHERE KA2TABLE010.COLUMN001 = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND KA2TABLE010.COLUMN017 = @BRANCHID UNION SELECT DISTINCT EMP_ID AS ID,BRANCH_ID AS BRANCH_ID, EMP_CODE AS Customer_Code, EMP_NAME AS Customer_Name,'' Alias_Name , ''false'' [chk] from VEMPLOYEE WHERE (EMP_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1)) AND BRANCH_ID = @BRANCHID) order by chk ')
END

SELECT *,ROWNUM = IDENTITY (INT, 1, 1) INTO #T FROM (select D01 from #DD ) TAB
SELECT * FROM #T WHERE ROWNUM BETWEEN @ROWNUMBEGIN AND @ROWNUMEND

DROP TABLE #T
DROP TABLE #DD
SET NOCOUNT OFF
END




Dear Harsh, can i replace your query in the redlined

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 02:21:47
Still it is saying the same error

Now the procedure is like this....

ALTER PROCEDURE [dbo].[CONTROLACC_PAGINACTION] (@ROWNUMBEGIN INT ,@ROWNUMEND INT,@BRANCHID VARCHAR(100),@CNTACCID VARCHAR(100),@TYPE CHAR(5))
AS
BEGIN
SET NOCOUNT ON
CREATE TABLE #DD (D01 VARCHAR(8000))
IF( @TYPE = 'C' )
BEGIN
INSERT INTO #DD VALUES('(SELECT DISTINCT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name, Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by, Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, CUSTOMER_STATUS status,''true'' [chk] FROM VCUSTOMER, OATABLE030 WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID UNION SELECT DISTINCT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name, Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by, Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, customer_status status ,''false'' [chk] FROM VCUSTOMER WHERE CUSTOMER_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1) AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1) order by chk ')
END
ELSE IF( @TYPE = 'V' )
BEGIN
INSERT INTO #DD VALUES('(SELECT DISTINCT VENDOR_ID ID, BRANCH_ID BRANCH_ID, VENDOR_CODE Customer_Code, VENDOR_NAME Customer_Name, Alias_Name Alias_Name, CONTACT_PERSON CONTACT_PERSON, CONTACT_TIMINGS CONTACT_TIMINGS, CREDIT_DAYS CREDIT_DAYS, CREDIT_LIMIT CREDIT_LIMIT, WEBSITE WEBSITE, EMAIL_ID EMAIL_ID, BANK_DETAILS BANK_DETAILS, REMARKS REMARKS, VENDOR_CAT VENDOR_CAT, VEN_GRP_ID VEN_GRP_ID, ONE_TIME ONE_TIME, VAT_No VAT_No, BLOCK BLOCK, PREFERD_VENDOR PREFERD_VENDOR, ''true'' [chk] FROM VVENDOR , OATABLE030 WHERE VENDOR_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID UNION SELECT DISTINCT VENDOR_ID ID, BRANCH_ID BRANCH_ID, VENDOR_CODE Customer_Code, VENDOR_NAME Customer_Name, Alias_Name Alias_Name, CONTACT_PERSON CONTACT_PERSON, CONTACT_TIMINGS CONTACT_TIMINGS, CREDIT_DAYS CREDIT_DAYS, CREDIT_LIMIT CREDIT_LIMIT, WEBSITE WEBSITE, EMAIL_ID EMAIL_ID, BANK_DETAILS BANK_DETAILS, REMARKS REMARKS, VENDOR_CAT VENDOR_CAT, VEN_GRP_ID VEN_GRP_ID, ONE_TIME ONE_TIME, VAT_No VAT_No, BLOCK BLOCK, PREFERD_VENDOR PREFERD_VENDOR, ''false'' [chk] FROM VVENDOR WHERE VENDOR_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1 ) and VVENDOR.BLOCK = ''Y'' AND (BRANCH_ID = @BRANCHID OR BRANCH_ID in (select Sub_Org_Id from ftblHasNoModuleBranch (@BRANCHID, ''FIN'')))) order by chk ')
END
ELSE IF( @TYPE = 'E' )
BEGIN
INSERT INTO #DD VALUES('(SELECT DISTINCT KA2TABLE010.COLUMN001 ID, KA2TABLE010.COLUMND01 BRANCH_ID, KA2TABLE010.COLUMN002 Customer_Code, KA2TABLE010.COLUMN004 Customer_Name, KA2TABLE010.COLUMN005 Alias_Name,''true'' [chk] FROM KA2TABLE010,OATABLE030 WHERE KA2TABLE010.COLUMN001 = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND KA2TABLE010.COLUMN017 = @BRANCHID UNION SELECT DISTINCT EMP_ID AS ID,BRANCH_ID AS BRANCH_ID, EMP_CODE AS Customer_Code, EMP_NAME AS Customer_Name,'' Alias_Name , ''false'' [chk] from VEMPLOYEE WHERE (EMP_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1)) AND BRANCH_ID = @BRANCHID) order by chk ')
END
SELECT *,ROWNUM = IDENTITY (INT, 1, 1) INTO #T
FROM
(SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
CUSTOMER_STATUS status, 'true' [chk]
FROM VCUSTOMER, OATABLE030
WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID
UNION
SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
customer_status status , 'false' [chk]
FROM VCUSTOMER
WHERE CUSTOMER_ID NOT IN
(SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1)
AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1)
order by chk
) tab

DROP TABLE #T
DROP TABLE #DD
SET NOCOUNT OFF
END



Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

shallu1_gupta
Constraint Violating Yak Guru

394 Posts

Posted - 2007-05-18 : 02:22:12
SELECT *,ROWNUM = IDENTITY (INT, 1, 1) INTO #T
FROM
(SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
CUSTOMER_STATUS status, 'true' [chk]
FROM VCUSTOMER, OATABLE030
WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID
UNION
SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
customer_status status , 'false' [chk]
FROM VCUSTOMER
WHERE CUSTOMER_ID NOT IN
(SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1)
AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1
) --remove this
order by chk
) tab

Go to Top of Page

harsh_athalye
Master Smack Fu Yak Hacker

5581 Posts

Posted - 2007-05-18 : 02:24:07
Can't you see I commented out the extra parenthesis and highlighted this change in RED??

Harsh Athalye
India.
"The IMPOSSIBLE is often UNTRIED"
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 02:25:25
Dear Gupta,
I've removed that paranthesis,
now the error is this one
Server: Msg 1033, Level 15, State 1, Procedure CONTROLACC_PAGINACTION, Line 40
The ORDER BY clause is invalid in views, inline functions, derived tables, and subqueries, unless TOP is also specified.


Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 02:27:30
quote:
Originally posted by harsh_athalye

Can't you see I commented out the extra parenthesis and highlighted this change in RED??

Harsh Athalye
India.
"The IMPOSSIBLE is often UNTRIED"



sorry harsh,I removed that one, even then i got the error

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

harsh_athalye
Master Smack Fu Yak Hacker

5581 Posts

Posted - 2007-05-18 : 02:32:20
And I think the error cause and its resolution is pretty clearly defined in the error description itself.

Harsh Athalye
India.
"The IMPOSSIBLE is often UNTRIED"
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 02:36:10
quote:
Originally posted by harsh_athalye

And I think the error cause and its resolution is pretty clearly defined in the error description itself.

Harsh Athalye
India.
"The IMPOSSIBLE is often UNTRIED"



then how can i get the desired result? I've to write three procedures for each type? is there any other way for me Harsh

thankyou very much

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

harsh_athalye
Master Smack Fu Yak Hacker

5581 Posts

Posted - 2007-05-18 : 02:41:17
[code]Create Procedure ...
Begin
Create Table #T
(
RowNum int identity(1,1),
... -- rest of the column definitions here
)

IF @TYPE = 'C'
Insert into #T
select * from
(
SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
CUSTOMER_STATUS status, 'true' [chk]
FROM VCUSTOMER, OATABLE030
WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID
UNION
SELECT DISTINCT
CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name,
Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,
Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,
Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office,
customer_status status , 'false' [chk]
FROM VCUSTOMER
WHERE CUSTOMER_ID NOT IN
(SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1)
AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1
) tab
order by chk
Else If @TYPE = 'V'
...
Else If @TYPE = 'E'
...

SELECT * FROM #T WHERE ROWNUM BETWEEN @ROWNUMBEGIN AND @ROWNUMEND
DROP TABLE #T
SET NOCOUNT OFF
END [/code]

Harsh Athalye
India.
"The IMPOSSIBLE is often UNTRIED"
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 02:42:24
Dear Harsh, I think you and Gupta have understood my requirement. can you give me the idea that how can i get the desired result based on the @TYPE?

please guide me in this regard

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-05-18 : 02:49:20
Why are you using both DISTINCT and UNION in the same derived table?


Peter Larsson
Helsingborg, Sweden
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 03:12:14
yes this is my mistake

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 03:29:08
Now I'm getting this error while executing the proc... the problem is regarding the identity column


Server: Msg 8101, Level 16, State 1, Procedure CONTROLACC_PAGINACTION, Line 6
An explicit value for the identity column in table '#T' can only be specified when a column list is used and IDENTITY_INSERT is ON.


--exec [dbo].[CONTROLACC_PAGINACTION] 1,3,'892a3e8d-f1da-4e26-91df-4636b8df9b77','8cbc2fc1-911e-441d-b142-2ebf8654640a','c'

/*
alter Procedure [dbo].[CONTROLACC_PAGINACTION] (@ROWNUMBEGIN INT ,@ROWNUMEND INT,@BRANCHID VARCHAR(100),@CNTACCID VARCHAR(100),@TYPE CHAR(5))
as Begin
Create Table #T(D01 VARCHAR(8000),RowNum int identity(1,1))

IF @TYPE = 'C'
INSERT INTO #T
select * from(
SELECT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, CUSTOMER_STATUS status, 'true' [chk] FROM VCUSTOMER, OATABLE030 WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID UNION SELECT DISTINCT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name, Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by, Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, customer_status status , 'false' [chk] FROM VCUSTOMER WHERE CUSTOMER_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1) AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1 ) tab order by chk
Else If @TYPE = 'V'
INSERT INTO #T
select * from(
SELECT VENDOR_ID ID, BRANCH_ID BRANCH_ID, VENDOR_CODE Customer_Code, VENDOR_NAME Customer_Name, Alias_Name Alias_Name, CONTACT_PERSON CONTACT_PERSON, CONTACT_TIMINGS CONTACT_TIMINGS, CREDIT_DAYS CREDIT_DAYS, CREDIT_LIMIT CREDIT_LIMIT, WEBSITE WEBSITE, EMAIL_ID EMAIL_ID, BANK_DETAILS BANK_DETAILS, REMARKS REMARKS, VENDOR_CAT VENDOR_CAT, VEN_GRP_ID VEN_GRP_ID, ONE_TIME ONE_TIME, VAT_No VAT_No, BLOCK BLOCK, PREFERD_VENDOR PREFERD_VENDOR, 'true' [chk] FROM VVENDOR , OATABLE030 WHERE VENDOR_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID UNION SELECT DISTINCT VENDOR_ID ID, BRANCH_ID BRANCH_ID, VENDOR_CODE Customer_Code, VENDOR_NAME Customer_Name, Alias_Name Alias_Name, CONTACT_PERSON CONTACT_PERSON, CONTACT_TIMINGS CONTACT_TIMINGS, CREDIT_DAYS CREDIT_DAYS, CREDIT_LIMIT CREDIT_LIMIT, WEBSITE WEBSITE, EMAIL_ID EMAIL_ID, BANK_DETAILS BANK_DETAILS, REMARKS REMARKS, VENDOR_CAT VENDOR_CAT, VEN_GRP_ID VEN_GRP_ID, ONE_TIME ONE_TIME, VAT_No VAT_No, BLOCK BLOCK, PREFERD_VENDOR PREFERD_VENDOR, 'false' [chk] FROM VVENDOR WHERE VENDOR_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1 ) and VVENDOR.BLOCK = 'Y' AND (BRANCH_ID = @BRANCHID OR BRANCH_ID in (select Sub_Org_Id from ftblHasNoModuleBranch (@BRANCHID, 'FIN')))) tab order by chk
/*Else If @TYPE = 'E'
SELECT KA2TABLE010.COLUMN001 ID, KA2TABLE010.COLUMND01 BRANCH_ID, KA2TABLE010.COLUMN002 Customer_Code, KA2TABLE010.COLUMN004 Customer_Name, KA2TABLE010.COLUMN005 Alias_Name,'true' [chk] FROM KA2TABLE010,OATABLE030 WHERE KA2TABLE010.COLUMN001 = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND KA2TABLE010.COLUMN017 = @BRANCHID UNION SELECT DISTINCT EMP_ID AS ID,BRANCH_ID AS BRANCH_ID, EMP_CODE AS Customer_Code, EMP_NAME AS Customer_Name,'' Alias_Name , 'false' [chk] from VEMPLOYEE WHERE (EMP_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1)) AND BRANCH_ID = @BRANCHID) tab order by chk
*/
SELECT * FROM #T WHERE ROWNUM BETWEEN @ROWNUMBEGIN AND @ROWNUMEND
DROP TABLE #T
SET NOCOUNT OFF
END
*/

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 04:12:19
Dear Harsh, can you please check wehther i did ths as you said?
now i'm getting the error with identity column


Server: Msg 8101, Level 16, State 1, Procedure CONTROLACC_PAGINACTION, Line 17
An explicit value for the identity column in table '#T' can only be specified when a column list is used and IDENTITY_INSERT is ON.

--exec [dbo].[CONTROLACC_PAGINACTION] 1,2,'892a3e8d-f1da-4e26-91df-4636b8df9b77','8cbc2fc1-911e-441d-b142-2ebf8654640a','c'


alter Procedure [dbo].[CONTROLACC_PAGINACTION] (@ROWNUMBEGIN INT ,@ROWNUMEND INT,@BRANCHID VARCHAR(100),@CNTACCID VARCHAR(100),@TYPE CHAR(5))
as Begin
Create Table #T(RowNum int identity(1,1),CUSTOMER_ID VARCHAR(50),branch_id varchar(50),Customer_Code nvarchar(100),Customer_name nvarchar(300),Alias_Name nvarchar(100),CUSTOMER_TYPE_ID varchar(50),GROUP_ID varchar(50),Company_Name nvarchar(300),Contact_Person nvarchar(300),CPer_Desig nvarchar(100),Partial_Ok datetime,Cust_Service_Rep varchar(50),Refered_by varchar(50),Incoterms_Payment nvarchar(100),Payment_Mode varchar(50),Sales_type varchar(50),Head_Office nvarchar(300),CUSTOMER_STATUS char(1), chk varchar(10) )
IF @TYPE = 'C'
INSERT INTO #T
select * from(
SELECT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name,Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by,Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, CUSTOMER_STATUS status, 'true' [chk] FROM VCUSTOMER, OATABLE030 WHERE CUSTOMER_ID = OATABLE030.COLUMN001 AND OATABLE030.COLUMN002 = @CNTACCID AND BRANCH_ID = @BRANCHID UNION SELECT DISTINCT CUSTOMER_ID ID, BRANCH_ID BRANCH_ID, Customer_Code Customer_Code, Customer_Name Customer_Name, Alias_Name Alias_Name, Customer_Type_ID Customer_Type_ID, GROUP_ID Customer_Grp_ID, Company_Name Company_Name, Contact_Person Contact_Person, CPer_Desig CPer_Desig, Partial_Ok Partial_Ok, Cust_Service_Rep Cust_Service_Rep, Refered_by Refered_by, Incoterms_Payment Incoterms_Payment, Payment_Mode Payment_Mode, Sales_type Sales_type, Head_Office Head_Office, customer_status status , 'false' [chk] FROM VCUSTOMER WHERE CUSTOMER_ID NOT IN (SELECT COLUMN001 FROM OATABLE030 WHERE COLUMN010 = @TYPE AND COLUMN007 != 1) AND BRANCH_ID = @BRANCHID AND VCUSTOMER.CUSTOMER_STATUS = 1 ) tab order by chk

SELECT * FROM #T WHERE ROWNUM BETWEEN @ROWNUMBEGIN AND @ROWNUMEND
DROP TABLE #T
SET NOCOUNT OFF
END


Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 04:43:47
Dear Harsh,
The rownum is extra column in #T table. we are taking values with a select statement to #T table. then it is taking customer_id as rownum....it is the problem....
what can i do now? i've to write the entire columns list to insert statement?

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-18 : 05:04:33
Mr.Harsh,Mr.Gupta and Mr. Peso please guide me

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page
   

- Advertisement -