Error Creating View: ORA-00933: SQL command not properly ended

Hi all,

I have a view I am trying to create using TOAD, or SQL Plus for that matter.  I get the error message:  Error Creating View:  ORA-00933: SQL command not properly ended  If I just run the select statement, it works fine.  Please help!!!

Here is the full code:

CREATE VIEW APPS.REPORTS_EMPLOYEECLOCK
AS
SELECT p2.full_name, p.full_name, sum(t.clock), sum(t.pay), sum(t.labor) from (select distinct person_id, full_name from hr.per_all_people_f where current_employee_flag = 'Y') p, hr.per_all_assignments_f a, (select distinct person_id, full_name, person_type_id from hr.per_all_people_f where current_employee_flag = 'Y') p2, (select c.person_id, c.time_in, nvl(c.total_hours,0) as clock, nvl(c.supervisor_hours,0) as pay, sum(nvl(l.break_adjusted_time_out - l.time_in,0)*24) as labor from ctl.timeclock_clock_card c, ctl.timeclock_labor_card l where c.person_id = l.person_id(+) and l.time_in(+) between c.time_in and c.time_out group by c.person_id, c.time_in, c.total_hours, c.supervisor_hours) t where t.person_id = p.person_id and t.person_id = a.person_id(+) and a.supervisor_id = p2.person_id(+) group by p2.full_name, p.full_name order by p2.full_name, p.full_name;
jwebster77Asked:
Who is Participating?
 
jwebster77Connect With a Mentor Author Commented:
The problem was an issue with the Toad software an not the query itself.
0
 
Richard OlutolaConsultantCommented:
Perhaps if you format your code better you may be able to see where the problem lies. I don't know your logic so only you can check for logical errors.

See the following as my interpretation of what you're trying to do and see if it's the wrong idea:


CREATE VIEW APPS.REPORTS_EMPLOYEECLOCK
AS
SELECT 
	p2.full_name, 
	p.full_name, 
	sum(t.clock), 
	sum(t.pay), 
	sum(t.labor) 
from (select 
		distinct person_id, 
		full_name 
	from hr.per_all_people_f 
	where current_employee_flag = 'Y') p, 
		hr.per_all_assignments_f a, 
		(select 
			distinct person_id, 
			full_name, 
			person_type_id 
		from hr.per_all_people_f 
		where current_employee_flag = 'Y') p2, 
			(select c.person_id, 
				c.time_in, 
				nvl(c.total_hours,0) as clock, 
				nvl(c.supervisor_hours,0) as pay, 
				sum(nvl(l.break_adjusted_time_out - l.time_in,0)*24) as labor 
			from ctl.timeclock_clock_card c, 
				ctl.timeclock_labor_card l 
			where c.person_id = l.person_id(+) 
				and l.time_in(+) between c.time_in 
				and c.time_out 
			group by c.person_id, c.time_in, c.total_hours, c.supervisor_hours) t 
where t.person_id = p.person_id 
	and t.person_id = a.person_id(+) 
	and a.supervisor_id = p2.person_id(+) group by p2.full_name, p.full_name 
order by p2.full_name, p.full_name;

Open in new window

0
 
jtriftsMI and AutomationCommented:
Does the DML work without the "APPS." prefix?
i.e.
CREATE VIEW REPORTS_EMPLOYEECLOCK
AS
SELECT p2.full_name
, p.full_name
, sum(t.clock)
, sum(t.pay)
, sum(t.labor)
from (select distinct person_id
                   , full_name
         from hr.per_all_people_f
         where current_employee_flag = 'Y') p
, hr.per_all_assignments_f a
, (select distinct person_id
              , full_name
              , person_type_id
   from hr.per_all_people_f
   where current_employee_flag = 'Y') p2
, (select c.person_id
             , c.time_in
              , nvl(c.total_hours,0) as clock
              , nvl(c.supervisor_hours,0) as pay
              , sum(nvl(l.break_adjusted_time_out - l.time_in,0)*24) as labor
   from ctl.timeclock_clock_card c
         , ctl.timeclock_labor_card l
   where c.person_id = l.person_id(+)
   and l.time_in(+) between c.time_in and c.time_out
   group by c.person_id, c.time_in, c.total_hours, c.supervisor_hours) t
where t.person_id = p.person_id
and t.person_id = a.person_id(+)
and a.supervisor_id = p2.person_id(+)
group by p2.full_name, p.full_name
order by p2.full_name, p.full_name;
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.