我在使用jdbcs callablestatement. This is the error I'm getting: pl/sql : ORA-00933: SQL命令未正确结束时执行PL/SQL语句时遇到困难。`
声明是这样的:
DECLARE
BEGIN
IF ('XXX' <> 'XXX')
THEN
update XXX set XXX=1 where XXX='XXX' and XXX like 'XXX'
END IF;
END;
/
它在Oracle sql developer中
如果使用Linq to SQL和C#求和结果为null,我想得到0。
有没有人能帮我解决这个问题?
internal decimal GetItemPurchasedByDate(linqToSqlDataContext db, int itemId, DateTime firstDay, DateTime lastDay)
{
var count = (from pl in db.tblPurchaseLines
join p in db.tblPurchases on pl.PurchaseId equals p.PurchaseId
我有一个具有多个联接的SQL语句。我希望两张表的IN声明都是这样:
SELECT
p.id, p.first_name as [First Name],
p.last_name as [Last Name]
FROM
tbl_person as p ,
tbl_person_languages as pl ,
tbl_person_skills As ccp
WHERE
pl.language_id in (12,14) AND
ccp.skill_id in (55)
GROUP BY
在Oracle PL/SQL中有没有办法使用动态比较运算符?我有一个while循环,看起来像这样... WHILE counter > workingDays
LOOP... 我简化了一点,但是如果今天是周末,我希望这个>实际上是>=。有没有办法在PL/SQL中使用动态比较运算符?这不管用,但是像这样的东西..。 operator := '>';
IF TO_CHAR( curDate, 'D') IN (1,7) THEN operator = '>=';
WHILE counter operator wor
我的部门经常在我们的程序顶部放置一个注释块,解释程序的基本目的,以及一些修改历史和相关的工作单号。我想用我正在创建的几个新视图做同样的事情。这个是可能的吗?
我尝试将注释块放在不同的位置,在CREATE OR REPLACE之前和之后,但似乎select上的任何注释行都被删除了。我们使用的是Oracle和PL/SQL Developer。
/*
PURPOSE
MULTI-LINE COMMENTS
WORK ORDER NUMBERS FOR MODIFICATIONS
ETC
*/
CREATE OR REPLACE VIEW SAMPLE_VIEW AS
SELECT SYS
我是PL/SQL新手,在PL/SQL方面遇到问题
我想写对象方法,它有参数商店名称(在表格中),并返回商店中商品的总金额。
Let`s say name of shop could be "Center".
CREATE TYPE SHOPS_TYP AS OBJECT (
S_NUM NUMBER,
S_NAME VARCHAR2(30),
TEL VARCHAR2(20)
);
/
CREATE TYPE GOODS_T AS OBJECT(
G_NUM NUMBER,
G_NAME VARCHAR2(30),
G_QUANTI
我有以下查询:
SELECT * FROM MUFFIN_TYPES MT
WHERE MT.flavor IS NULL
OR MT.flavor IS NOT NULL
AND MT.additionDate IS NOT NULL
如果没有明确的括号,这是令人困惑的。MT.flavor IS NULL OR MT.flavor IS NOT NULL总是会评估为真吗?或者它会被评估为MT.flavor IS NULL (OR MT.flavor IS NOT NULL AND MT.additionDate IS NOT NULL)
我找不到关于这件事的任何文件。
考虑:
#!/usr/bin/perl
if ($ARGV[0]=="-v") {
print "MY name: abc\n";
print "MY student ID:111110\n";
}
if ($ARGV[0]=="-s" && $ARGV[1]==printing_usage_file) {
open (INFILE, $ARGV[1]) or die "An input file is required as argument\n";
$totalb
如何在oracle中使用隐式游标更新emp_name。
为此,我用pl/sql编写了一个程序。
DECLARE
var_names VARCHAR2(30);
BEGIN
UPDATE emp
SET emp_name= emp_name +'garu';
IF SQL%NOTFOUND THEN
dbms_output.put_line('None of the salaries where updated');
ELSIF SQL%FOUND THEN
var
我有一个shell脚本,它执行pl/sql块,我将输出输出到输出文件,但它没有保存旧信息,也没有显示脚本执行时的时间和日期。
下面是我的剧本。
#!/bin/bash
sqlplus -s $DATABASE > output << EOSQL
SET FEEDBACK ON
declare
veventSource varchar2(20);
verrorcode integer;
verrorMessage varchar2(255);
begin
for rec in (select substr(customer,3) as pid, substr(ac
我定义了和函数,并调用它将计算值存储在一个数组中。然而,数组中的值与它们应该的值不同。我绘制了函数的输出和存储的数组值。有人能帮我解决这个问题吗?以下是代码和输出。
from numpy import linspace, exp
import matplotlib.pyplot as pl
def gaussian(x, off, amp, cen, wid):
return off+amp * exp(-(x-cen)**2 /wid**2)
PhaseArray = [0 for x in range (100)]
for x in range(100):
PhaseArr
我已经使用SQLDeveloper开发了一个脚本。
它的基本结构是:
文件pl_sql.sql:
-- setting some options here, e.g. set linesize 32767 / set serveroutput on / etc.
declare
-- some variables declared here
begin
-- some SQL statements and PL/SQL code here
end;
这在SQLDeveloper中运行得很好。要在SQLPlus中运行这一功能,我必须编写如下包装器:
文件wrapper.sql:
@pl_sql.
我是pl/sql的新手,尝试使用以下代码打印直到100的偶数:
Declare
i number;
sum number:=0;
x number:=2;
n number;
Begin
for i in 1..100 loop
if (i%x=0) then
n:=i;
sum:=sum+n;
end if;
end loop;
dbms_output.put_line(sum);
end;
我得到了这个错误
ERROR at line 10:
我对PL/SQL相当陌生,并被指派维护一个使用PL/SQL作为前端生成的WEB页面的PL/SQL系统(PL/?)。由于应用程序的复杂性,我试图从Oracle Developer Tools for Visual Studio (11.2.0.3.15)或Oracle的SQL开发人员那里获得调试器。
我无法从开发环境中启动应用程序,所以我在试图调试的包中使用DBMS_DEBUG_JDWP.CONNECT_TCP('10.15.1.177‘、'4000')和DBMS_DEBUG_JDWP.DISCONNECT()过程。
在Visual中启动Oracle调试侦听器时,Tool
当我在SQL和PL/SQL (存储过程)中执行下面的查询时,两者都会产生不同的结果。为什么会这样呢?
查询:select UNISTR('\03A6') from dual;
Sql输出Φ where as PL/SQL输出F
我使用sql developer来执行这两个命令。
如何使pl/sql返回Φ
假设我正在使用一个表person,person可能有多个姓氏,因此该属性应该存储在一个嵌套表中(这与存储姓氏的位置无关),下面是一个简单的sql,用于创建类型last name,表person,并在oracle的sql developper (11G XE)中添加一个示例行:
create type lastn as table of varchar2(10);
CREATE TABLE person
(
ID NUMBER NOT NULL
, last_name lastn
, CONSTRAINT EXEMPLE_PK PRIMARY KEY
(
ID
)
ENABLE
)ne
我有下面的PL/SQL块,它工作得很好。我想从另一个PL/SQL块调用这个函数(TimeToFrame)。
我不能在存储在DB中的过程或包中声明此函数。换句话说,如果pl/sql和pl/sql都是匿名块,我如何从另一个pl/sql调用pl/sql?
如果我把这个函数放在一个单独的.sql文件中会怎么样?我不能从我的匿名块中调用那个.sql文件,并给它传递一些IN参数,然后让那个函数返回OUT参数吗?
Declare
nTime Number;
FUNCTION TimeToFrame(pTime IN Varchar2)
return NUMBER IS
nTime NUMBER;
BEGI
我正在尝试通过VBA将PL/SQL查询从文件传递到Oracle DB。
像SELECT * FROM DUAL这样的简单测试查询工作得完美无缺。
然而,只是稍微复杂一点(甚至还没有PL/SQL),比如
SELECT x, y, z FROM table WHERE DATE = '5may2017'
已经失败(实际上没有显式错误,只是空结果)。
我正在连接到Conn.Provider = "OraOLEDB.Oracle.1",通过ALTER SESSION SET CURRENT_SCHEMA=MyUserSchema应用用户模式。最后,我的最后一个代码片段是