小编Sat*_*hat的帖子

交叉表中如何传递参数?

谁能告诉我,如何将参数传递给交叉表?

jasper-reports crosstab

6
推荐指数
1
解决办法
1万
查看次数

使用带有绑定变量的Execute Immediate语句时,表名称错误无效

我正在尝试让这个动态SQL运行(使用EXECUTE IMMEDIATE)

M_SQL_STATEMENT := 'SELECT MAX(:m_var1)+1 from :m_var2 RETURNING MAX(:m_var1)+1 INTO :m_var3';

EXECUTE IMMEDIATE M_SQL_STATEMENT
   USING M_COLUMN_NAME, UPPER(P_TABLE_NAME), M_COLUMN_NAME
   RETURNING INTO M_SEQ_NUMBER;
Run Code Online (Sandbox Code Playgroud)

但是,在尝试运行时,我一直在努力

ORA-00903: Invalid table
Run Code Online (Sandbox Code Playgroud)

P_TABLE_NAME是一个表名,可以作为输入接受.我已确认表名和列名有效.我无法弄清楚为什么Oracle会抛出错误.

FWIW将SQL语句更改为

M_SQL_STATEMENT := 'SELECT MAX(:m_var1)+1 SEQ from :m_var2 RETURNING SEQ INTO :m_var3';
Run Code Online (Sandbox Code Playgroud)

仍会导致相同的错误.

plsql dynamic-sql oracle10g execute-immediate

5
推荐指数
1
解决办法
6103
查看次数

想要以编程方式在联系人中创建新组

我想创建一个新的联系人组.我可以查询该组并显示所有组名但我不能在android中创建一个组我尝试创建联系人方法但没有创建...

ContentResolver cr = this.getContentResolver();
    groupValues = new ContentValues();
    Log.e("Group","start");
    groupValues.put(android.provider.Contacts.GroupMembership.GROUP_ID, 4);
    groupValues.put(android.provider.Contacts.GroupMembership.NAME, "Sriseshaa");
    groupValues.put(android.provider.Contacts.GroupMembership.PERSON_ID, 1);

    cr.insert(android.provider.Contacts.GroupMembership.CONTENT_URI, groupValues);
Run Code Online (Sandbox Code Playgroud)

android android-contacts

5
推荐指数
1
解决办法
1万
查看次数

是否可以在Java 1.4中的列表中使用泛型?

我必须使用Java 1.4并使用arraylist结构.现在我需要做一些重新分解,如果我可以使用泛型,它会有所帮助.目前我有这样的代码

ArrayList rows = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

这是一个简单的ArrayList.但现在"行"变量变得越来越复杂,需要定义一个"行"类.我现在想要做的事情就像你在J2SE 1.5中看到的那样

ArrayList<Row> rows = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

如果没有使用第三方解决方案,谷歌的拖网不会暴露任何答案.如果不使用第三方解决方案/开源项目(如果可能的话),我的代码如何在1.4中进行更改以适应这种情况?

java generics jdk1.4

5
推荐指数
1
解决办法
7929
查看次数

Oracle存储过程变量命名约定

在oracle,PL/SQL中编写存储过程时,编写参数名后会有很多命名约定.

  1. PROCEDURE PROC_MY_STORED_PROCEDURE (sFirstName VARCHAR2, nId NUMBER, oCursor REF_CURSOR)

    PROCEDURE PROC_MY_STORED_PROCEDURE (first_name_in VARCHAR2, Id_in NUMBER, o_Cursor REF_CURSOR)

  2. 应与局部变量前缀ll_与全球同gg_

是否还有其他良好的命名惯例?

要遵循的最佳做法是什么?

sql oracle plsql naming-conventions

5
推荐指数
2
解决办法
3426
查看次数

无法使用BULK COLLECT和FORALL编译PL/SQL

我在创建此过程时遇到错误.

CREATE OR replace PROCEDURE Remove_sv_duplicate
IS
  TYPE sv_bulk_collect
    IS TABLE OF tt%ROWTYPE;
  sv_rec SV_BULK_COLLECT;
  CURSOR cur_data IS
    SELECT *
    FROM   tt
    WHERE  ROWID IN (SELECT ROWID
                     FROM   (SELECT ROWID,
                                    Row_number () over (PARTITION BY portingtn,
                                    nnsp
                                    , onsp,
                                    spid,
                                    Trunc(
                                            createddate,
                                    'MI') ORDER BY portingtn) dup
                             FROM   tt)
                     WHERE  dup > 1);
BEGIN
  OPEN cur_data;

  LOOP
      FETCH cur_data BULK COLLECT INTO sv_rec LIMIT 1000;

      FORALL i IN 1..sv_rec.COUNT
        INSERT INTO soa_temp_sv_refkey_fordelete
                    (referencekey,
                     spid,
                     nnsp,
                     onsp,
                     portingtn)
        (SELECT referencekey,
                spid, …
Run Code Online (Sandbox Code Playgroud)

oracle plsql stored-procedures

5
推荐指数
1
解决办法
3325
查看次数

SQL优化 - 根据列值加入不同的表

我有一个表,其中包含一个充当"标志"的列,用于决定从哪个表中提取附加信息(即值1从table1中拉出,2从table2中取出,等等).通常我会使用索引/键加入表.但是,我可以加入的表包含可以规范化为单独表的信息,这使我可以使用列来决定要连接哪个表.

所以这是我的问题,根据此列中生成的值连接不同表的最有效方法是什么?

以下是我目前知道如何完成此任务的两种方式.我很确定它们都不是最佳解决方案:

  1. 从我的主表中提取信息(包含决定要加入哪个表的列值),然后通过我的应用程序中的代码发送其他查询以获取其余信息.

  2. 加入疯狂,返回每个表的列(即使未使用).然后,通过我的代码,忽略不需要的表的空值.

mysql sql optimization

5
推荐指数
1
解决办法
2579
查看次数

查询以查找所有空表

考虑到我有一个名为SBST的Schema

我想在此SBST Schema中找到所有空表列表.是否有任何PL/SQL过程可以找到它.我发现很少.但那些使用用户表,我无法指定Schema名称SBST.

我正在使用它

select table_name from dba_tables where owner ='SBST'
having count(*)=0  group by table_name
Run Code Online (Sandbox Code Playgroud)

上面的查询有什么问题?

oracle oracle11g

5
推荐指数
3
解决办法
3万
查看次数

如何使用逗号分隔值的字符串加入?

我想加入2个表,一个表有一个电子邮件字段,另一个表有逗号分隔的电子邮件列表.

这是场景:

Team
--------------
- team_id
- email_list (this is a comma separated email address)


Persons
--------------
 - person_id
 - email
Run Code Online (Sandbox Code Playgroud)

我试过这样的事情:


SELECT team.* FROM team INNER JOIN persons ON trim(persons.email) IN (CONCAT('\'',REPLACE(REPLACE(team.email_list,' ',''),',','\',\''),'\''))
Run Code Online (Sandbox Code Playgroud)

但是IN子句中的字符串似乎就像这个"'email1','email2','email3'"

有什么想法让它发挥作用?

mysql join denormalization

5
推荐指数
1
解决办法
1266
查看次数

如何检索游标的sql文本?

如果我有游标并且想在执行期间记录游标的文本,是否可以通过某种方式使用游标名称并检索SQL?

例如,

OPEN cursor_1 for 
    SELECT ...
Run Code Online (Sandbox Code Playgroud)

我想相信我可以做cursor_1%NAME很多事情,就像可以使用游标的其他属性一样。(%ISOPEN,%FOUND等)。

oracle cursor

5
推荐指数
1
解决办法
3335
查看次数