目标是迭代表中的所有行,并根据当前行的票证值等于票证值的summary_total之和更新每一行的ext_cost。可能是一个简单的语法问题或与我的MySQL检查版本不兼容.有什么想法吗?
DROP PROCEDURE IF EXISTS TOTALCALC;
DELIMITER $
CREATE PROCEDURE TOTALCALC( IN _OFFSET INTEGER ) -- procedure with offset parameter to use like Oracle's rownum...
BEGIN
DECLARE n INT DEFAULT 0
我实际上是试图修改存储过程。
修改后的存储过程:
CREATE PROCEDURE sp1(d1 date, d2 date, client INT(10))
declare d datetime;
create TEMPORARY TABLE foo (d date NOT NULL, Amount INT(10) DEFAULT 0);
set d = d1;
while d <= d2 do
insert into foo (d) values (d);
set d = date_add(d, interval
从这个查询中:
select count(*) as data, LOCATION_Name as location
from SPECIAL_PROCEDURE_COLLECTION_FINAL_temp_final
where sno>=6973
and sno<= 7251
and date(PAYMENT_DATE) = '2021-07-31'
and Procedures_Category IN ('FFA-VR')
and SUM(BILLED_AMOUNT)= 0
group by LOCATION_Na
我像这样创建了一个Hibernate查询:
select new ProjectForUser
(p.projectId, p.name, p.description, p.client, p.startDate, p.endDate,
p.liveDate, p.projectState, p.overallRagStatus, p.scopeRagStatus, p.flt,
up.projectManager)
from UserProjectAssociation up left join up.project p
where up.user.id = :userI
所以我想找一个收入最高的客户代表。为此,我创建了一个视图:
CREATE VIEW employeeRevenue AS
SELECT E.EmployeeID AS ID, SUM(A.ClosingBid) AS Total
FROM Auction A, Employee E
WHERE A.EmployeeID = E.EmployeeID;
然后,我在这个视图上运行了一个过程
CREATE PROCEDURE getBestCustomerRep()
BEGIN
SELECT E.*
FROM employeeRevenue RV, Employee E
WHERE E.Employ
我有一个表(Oracle):
customer_quote
------
int id
int part_key (fk)
int condition_code (fk)
number unit_price
int qty_quoted
date entry_date
使用一个选择过去一年数据的查询:
SELECT cq.part_key
, cq.condition_code
, COUNT(*) AS cq_count
, SUM(cq.unit_price * cq.qty_quoted) AS cq_total
, SUM(cq.qty_quot
我有这样的程序:
Create PROCEDURE [dbo].[spMerrShenimetBazePerPagese]
@PunetoriId int
AS
Select p.PunetoriId, p.Emri, p.Mbiemri,p.Vendlindja,pg.Muaji, Sum(p.Paga) as Paga, Sum(pg.Bonusi) as Bonusi, Sum(gj.Vlera) as Gjoba,
(p.Paga+pg.Bonusi-gj.Vlera) as Totali
from Punetoret p
full outer join Paga pg
我在Oracle 11g中有以下存储过程。我使用c#通过ASP.net将表名作为参数传递。但在运行应用程序时,我收到错误消息"ORA-00923: FROM keyword not found where expected in oracle“。
PROCEDURE "ARCHIVE_FILTERDATA" ( ITYPE IN VARCHAR2, itableName IN VARCHAR2, cur_archive OUT sys_refcursor ) AS
stmt clob;
endstmt clob;
BEGIN
IF ITYPE='W
如何证明这是有效的:
ALTER PROCEDURE [StoredProcedure]
@abcID int = null -- optional param
SELECT columnJ, columnK, Count(eID) AS Num, Sum(OutXYZ) as TotalProdXYZ, Sum(RawXYZ) as TotalRawXYZ
FROM [v_ViewTable]
WHERE (@abcID IS NULL OR (abcID = @abcID))
GROUP BY columnJ, columnK
但是,这将引发一个"columnJ在selec
我来自sql服务器背景,正在努力掌握oracle的语法。我试图从一个存储过程返回一些记录,但得到一个错误:
CREATE OR REPLACE PROCEDURE SP_GetCustomers(username IN VARCHAR2)
AS
BEGIN
if username = 'all' then
select *
from customers c;
else
select *
from customers c
where c.created_by = username;
需要将以下Oracle查询迁移到to,但出现以下错误:
ORDER子句在视图、内联函数、派生表、子查询和公共表表达式中无效,除非还指定了TOP、偏移量或FOR XML。
Oracle可以无错误地处理下面的代码。
取消订单一点帮助都没有。
SELECT CREATIONDATE, TITLE, SUM(myindex) over (ORDER BY CREATIONDATE ROWS UNBOUNDED PRECEDING) AS cumula
FROM (
SELECT CREATIONDATE, TITLE, 1 as myindex
FROM CONTENT
WHERE CONTENT
我正在使用TOAD编写一个Oracle过程。我使用execute语句执行了该过程。但是我不能得到结果。相反,我得到的只是错误。请帮助如何在TOAD中运行该程序。我是新接触toad和Oracle的。
oracle中的过程
create or replace procedure pro_dndtesting( phone number)is
begin
select FLD_PHONENUMBERS from smsdnd_tbl where FLD_PHONENUMBERS=phone;
end ;
/
按如下方式执行过程
exec procedure pro_dndtesting(9865
我知道这种实际的语法是假的,但它将帮助您理解我想要的。我需要这种格式,因为它是一个更大的查询的一部分。 select location,
count(*) as tot_proj where project_status='live',
sum(fte_count) as tot_emp where project_status='live' and fte_count != 'NULL'
from table_name
group by location 我想把所有这些都放在一个查询中...我试过这个 selec
我使用以下查询从视图中选择数据
SELECT * FROM "SCH"."MyView"
如果我按
SELECT * FROM "SCH"."MyView"
ORDER BY Name
我得到以下错误
[Err] ORA-00979: not a GROUP BY expression
Oracle查询引擎是否将此转换为无效查询?如何才能开始解决这样的问题呢?
以下是对"SCH"."MyView“的简化
SELECT
Name,
(subquery) AS Foo,
(subquer
我们有两张桌子:
HUSBANDS
---------------
id
name
surname
age
WIFES
---------------
id
name
surname
age
husbandId --(with constrain -> HUSBANDS.ID)
假设,我们需要写一个程序,把60岁以上的妻子和她们的丈夫一起移除;)
使用典型的SQL语句可以很好地做到这一点,但是Oracle不可能在一个delete语句中从两个表中删除行,对吗?所以..。
我们不能这样做:
PROCEDURE remove_old_wifes()
我有一个ORACLE过程的问题,似乎SELECT SUM忽略了我的WHERE子句,并且汇总了所有列,而不仅仅是我想要的那些列(deptno)。但是,如果我像这样使用其中一个函数,例如: select SUM(SAL) AS SALSUM FROM SCOTT.EMP WHERE SCOTT.EMP.DEPTNO = 10; 它会显示适当的总和。可能的问题是什么?谢谢你的帮助。 CREATE OR REPLACE PROCEDURE PROCEDURE1(numerdept IN number, money OUT number) IS
SALSUM NUMBER;
COMMS
我在这里做错什么了?
创建一个接受部门编号的过程,计算该部门的基本薪资总额,并同时显示部门号和基本薪资总额。
CREATE OR REPLACE PROCEDURE DEPT_TOTAL_SALARY AS
BEGIN
SELECT DEPARTMENTS.DEPARTMENTS_ID, SUM(SALARY) AS TOTAL_SALARIES
FROM EMPLOYEES, DEPARTMENTS
WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID
DBMS_OUTPUT.PUT_LINE (
我正在与oracle pdf一起学习pl/sql。有一个练习,我必须用另外两个已经存在的表中的数据创建一个新表。我认为这会起到作用:
CREATE TABLE new_depts
AS SELECT d.department_id, d.department_name, sum(e.salary) dept_sal
FROM employees e, departments d
WHERE e.department_id = d.department_id;
但这会引发以下错误:
SQL-Fehler: ORA-00937: not a single-group group functi
如何在存储过程中使用WITH?
CREATE OR REPLACE PROCEDURE TEST_CSV(
CUR_USERS OUT SYS_REFCURSOR,
CUR_JOBS OUT SYS_REFCURSOR )
AS
BEGIN
WITH resultset2 AS
(SELECT U.USERID,
U.PASSWORD
FROM USERS U
WHERE TRUNC(DATECREATED)=TRUNC(SYSDATE-1)
)
SELECT RESULTS
我希望空结果集的聚合为0。我尝试过以下几种方法:
SELECT SUM(COALESCE(capacity, 0))
FROM objects
WHERE null IS NOT NULL;
结果:
sum
-----
(1 row)
子问题:如果使用SUM(NVL(capacity, 0)),上面的方法在Oracle中不能正常工作吗
我正在从事Netsuite项目,该项目限制了SQL的能力。测试是很困难的,因为我基本上是在猜测他们在GUI中构建的SQL。
我想将查询的结果过滤为具有负求和值的结果。
下面是一个有效的PL/SQL构造(除非有任何小的语法错误)?
SELECT SUM(amount) OVER(PARTITION BY itemid ORDER BY date ROWS UNBOUNDED
PRECEDING) AS "sum" FROM table WHERE sum < 0
第二,由于Netsuite的局限性,下面的结构是否有效?
SELECT SUM(amount) OV
表sc包含学生id和他们参加的课程id,然后是相应的年级。
表course包含课程id和相应的学分。
表student1包含学生id和相应的信息。
在这种情况下,我需要计算每个学生的平均分数,并将排名加到student1表中。
守则如下:
create or replace procedure save_scholarship is
begin
UPDATE STUDENT1
SET STUDENT1.gpa = (
select rank() over (order by sum(sc.grade*course.credit)/sum(cou
考虑下表A和B栏:
A | B
--+--
1 | A
1 | B
1 | C
2 | A
2 | B
3 | A
3 | C
4 | B
4 | C
如果我的集合是A,B,我想从A列得到值2。
IN
select a from table where b IN ('A','B'),这将返回值1和2。
相交
select a from table where b = 'A'
intersect
select a from table where b = 'B'
intersect
sel
各位,我有一个oracle11gDB,我想创建一个存储过程,它在某个视图和一个表之间返回一个select语句,如下所示:
CREATE OR REPLACE PROCEDURE schemaName.my_PROC_name (p1 in number(10))
as
begin
select v.*,(select column1 from table t where t.id=p1) from view v ;
end my_PROC_name ;
它不起作用,我不熟悉甲骨文DB,所以如果有任何帮助请求!
是否可以在ORACLE子句中使用ref_cursor。例如,我有以下场景。首先,我有一个返回ref_cursor的过程
PROCEDURE p_return_cursor(p_id IN NUMBER, io_cursor OUT t_cursor)
AS
BEGIN
OPEN io_cursor FOR
SELECT col1, col2
FROM Table1 t
WHERE t.id = p_id;
END;
其次,我还有一个调用p_return_cursor的过程:
PROCEDURE p_test(p_cid IN NUMBER)
AS
l
我是Oracle 10g的新手,我知道在中,我可以创建一个过程,如下面这样的过程来生成一个输出记录。对于标准的Oracle过程来说,这是可能的吗?还是我需要使用包/函数?
CREATE PROCEDURE SAMPLE_STORED_PROCEDURE
@USERNAME varchar(10)
AS
BEGIN
SELECT NAME as Output from Employee where Username = @USERNAME
END
GO
谢谢
我是oracle的新手用户,我正在创建一个存储过程来显示表中的数据,因为我的教学过程需要它。起初,我运行的查询如下。
Create or replace procedure p_ mostrar
Is
Begin
Select ID_MODULO, NOMBRE, URL, ESTADO, ICONO FROM MODULO WHERE ESTADO=1 ;
Commit;
End p_mostrar;
他抛给我以下错误:
The judgment was expected INTO" After some research changed the syntax and ru
Oracle存储过程有OUT参数并返回结果集,例如
create or replace procedure foo(empId IN NUMBER, maxSalary OUT NUMBER) AS BEGIN
select * from Employee e where e.id >=empId;
select max(salary) into maxSalary from Employee;
END;
错误:
PLS-00428: an INTO clause is expected in this SELECT statement
Mysql存储过程可以返回结果集和
我更熟悉SQL Server,但我现在正在Oracle中做一个项目。我不知道如何在Oracle中实现来自Server的概念。
在Server中,如果创建一个过程
CREATE PROCEDURE usp_GetSomeStuff
(
@start_date DATE
@end_date DATE
)
AS
BEGIN
SELECT
Customer
, SUM( WidgetsPurchased ) AS WidgetsPurchased
FROM WidgetSales
WHERE TransactionDate >= @start_date
AND T
我有这个邮编
CREATE PROCEDURE adjust_available(patientBed UUID)
LANGUAGE SQL
AS $$
UPDATE bed
SET available = false
WHERE bed.id = patientBed;
$$;
CREATE TRIGGER adjust_available
AFTER UPDATE OF bed ON patient
FOR EACH ROW
EXECUTE PROCEDURE adjust_available(bed);
但是,当您运行此查询时。它说这个函
我的存储过程正在填充不同的行,我需要它来填充单行。我尝试添加一些where子句,但这破坏了它。如有任何帮助,我们不胜感激! DELIMITER //
CREATE PROCEDURE Populate()
BEGIN
insert into log(NoEmp) (select count(empid) from emp);
insert into log(NoDept) (select count(deptid) from dept);
insert into log(LocReg1) (select count(regionid) from region whe
我希望将这三个查询的结果分别动态地分为三列。
SELECT SUM(fee_amt) as Total_Fee from FEEDTL where Semester_No='2015SM' AND Registration_No='2015-1234' AND Fee_type='TUITION FEE'
SELECT SUM(fee_amt) as Balance from FEEDTL where Semester_no='2015SM' AND Registration_No='2015-1235' AN
我对SQL没有问题,但我发现Linq有点令人困惑。C#、.NET4、Silverlight、RIA服务、Oracle DB (v?)、运行Devart dotConnect 6.10.121的VS2010。
我有一个RIA实体
public sealed partial class ProcessLogHdr : Entity
{
DateTime JobDate;
string InterfaceName;
int SuccessfulCount;
int FailCount;
int TotalCount;
}
还有更多的字段,如用户等,将不适用于这
我正在针对Oracle 10g数据库编写SQL语句。我想得到一个有三个不同条件的域的和。我可以用一个查询来完成这个任务吗?
这是我想要的伪SQL:
SELECT SUM(CP) AS CPTotal,
(SUM(CP) FROM tasks WHERE Code='P') AS CPProd,
(SUM(CP) FROM tasks WHERE Code='S') AS CPSupp
FROM tasks;
我的sql有什么问题?我在sybase工作很好,但在oracle中工作不对。
select Col1 as bus_type,
count(*) as cnt,
sum(count(*)) as sums
from t_form_25
where Node_value ='6'
group by bus_type
order by cnt desc
它显示:
Err 00904:"BUS_TYPE":无效标识符
怎么修呢?在sybase工作得很好。
我有一个这样的程序。
create or replace
Procedure PROCEDURE_NAME
begin
Insert Instructions
Insert Instructions
Insert Instructions
Some Instructions
Some Instructions
Some Instructions
end;
上面的指令块可以并行执行,不会有任何类型的冲突。如何在Oracle过程中定义并行执行它们?
我可以为它们创建不同的过程,但在这个过程中寻求最小的修改,我相信在SQL中调用指令并行是可能的。
我正在Oracle 10g中创建一个视图。请参阅附加的图像,例如我的数据。我希望能够对所有具有相同ProjectCode和月份的记录进行求和。下面的查询仍然显示了每个ProjectCode单独列出的月份:
SELECT ProjectCode, ItemNumber, ItemCode, Type, SUM(Estimate), Month
FROM ProjectDetails
<bunch of INNER JOINS HERE>
WHERE ProjectDetails.ProjectCode=AllDetails.ProjectCode
GROUP BY Project
我有一个存储过程,它执行如下行的插入:
CREATE PROCEDURE dbo.sp_add_test
@CreatedBy NVARCHAR (128),
@TestId INT
AS
BEGIN
SET NOCOUNT ON
INSERT INTO dbo.Test (
CreatedDate,
Title,
ParentTestId,
)
SELECT
@CreatedDate
Title,
@