Edit: Your query works in SQL Serve 2008 R2. Either your configuration is different or you have a different version of SQL Server.
If you have an older version you can try the following:
insert into #test(COMP_CD ,ORG_CODE)
Select '1',(select (select case when '60'='60' then '0001' when '60' = '61' then '0002' end)+ ('00000000000000000000000000000000'))
Original answer:
IF OBJECT_ID('tempdb.dbo.#test') IS NOT NULL
BEGIN
DROP TABLE #test
END
CREATE TABLE #test
(comp_cd VARCHAR(1000),
org_code VARCHAR(1000),
node_desc VARCHAR(1000),
parentorg_cd VARCHAR(1000),
user_id VARCHAR(1000),
rec_mode VARCHAR(1000))
INSERT INTO #test
(comp_cd,
org_code,
node_desc,
parentorg_cd,
user_id,
rec_mode)
OUTPUT INSERTED.*
VALUES ('1',
(SELECT (SELECT LV1 = CASE
WHEN '60' = '60' THEN '0005'
WHEN '60' = '61' THEN '0002'
END)
+ (SELECT RIGHT('0000' + CONVERT(VARCHAR, (SELECT(SELECT
TOP 1 Substring
(
org_code,
5, 4)
AS SUB
FROM #test WHERE comp_cd =
1 ORDER BY
sub DESC)+
1)
), 4))
+ '0000000000000000000000000000'),
(SELECT '822000' + ' - '
+ 'Receiving & W/house - Selangor'),
(SELECT (SELECT CASE
WHEN '60' = '60' THEN '0001'
WHEN '60' = '61' THEN '0002'
END)
+ '00000000000000000000000000000000'),
'SMHIGWN',
'A')