SQL CASE Expression -need query.

Hi All , i have query like this
----------------SELECT *
FROM table A
WHERE 1=1 and CASE WHEN :T=1 THEN (EXISTS
(SELECT 'x'
FROM
(SELECT regexp_substr(str, '[^ ]+', 1, level) str
FROM
(SELECT 'SYS TAPE' str FROM dual
) t
CONNECT BY instr(str, ' ', 1, level - 1) > 0
) x
WHERE x.str not in('SYS','APPS')
AND A.STR LIKE '%'
|| x.str
|| '%'
)) ELSE A.STR END and a.sr=100;
Getting errorORA-00905: missing keyword..Please help

Well, I get other errors:
SQL> SELECT *
  2  FROM table A
  3  WHERE 1=1 and CASE WHEN :T=1 THEN (EXISTS
  4  (SELECT 'x'
  5  FROM
  6  (SELECT regexp_substr(str, '[^ ]+', 1, level) str
  7  FROM
  8  (SELECT 'SYS TAPE' str FROM dual
  9  ) t
10  CONNECT BY instr(str, ' ', 1, level - 1) > 0
11  ) x
12  WHERE x.str not in('SYS','APPS')
13  AND A.STR LIKE '%'
14  || x.str
15  || '%'
16  )) ELSE A.STR END and a.sr=100;
SP2-0552: Bind variable "T" not declared.
SQL> var T number
SQL> SELECT *
  2  FROM table A
  3  WHERE 1=1 and CASE WHEN :T=1 THEN (EXISTS
  4  (SELECT 'x'
  5  FROM
  6  (SELECT regexp_substr(str, '[^ ]+', 1, level) str
  7  FROM
  8  (SELECT 'SYS TAPE' str FROM dual
  9  ) t
10  CONNECT BY instr(str, ' ', 1, level - 1) > 0
11  ) x
12  WHERE x.str not in('SYS','APPS')
13  AND A.STR LIKE '%'
14  || x.str
15  || '%'
16  )) ELSE A.STR END and a.sr=100;
FROM table A
ERROR at line 2:
ORA-00906: missing left parenthesis
SQL> SELECT *
  2  FROM tableA
  3  WHERE 1=1 and CASE WHEN :T=1 THEN (EXISTS
  4  (SELECT 'x'
  5  FROM
  6  (SELECT regexp_substr(str, '[^ ]+', 1, level) str
  7  FROM
  8  (SELECT 'SYS TAPE' str FROM dual
  9  ) t
10  CONNECT BY instr(str, ' ', 1, level - 1) > 0
11  ) x
12  WHERE x.str not in('SYS','APPS')
13  AND A.STR LIKE '%'
14  || x.str
15  || '%'
16  )) ELSE A.STR END and a.sr=100;
WHERE 1=1 and CASE WHEN :T=1 THEN (EXISTS
ERROR at line 3:
ORA-00936: missing expressionFrom what I can make of it, looking at the concatenation of x.str in the query, you'll need dynamic SQL.
Posting a small, working testcase that illustrates your requirement would really help.

Similar Messages

  • Cube or Group By columns with Case Expressions with a total row (SQL Server 2008)

    I am trying to create a summary tabe of some data. I think that I can use Cube(my heart is not set on it though), but I cant figure a way to define new columns via a case expression and sum the new column.  Lastly, I need to create a total row at the
    bottom and I have no idea of how to do that except percent run the query and then run it again without the travel_city and union all the two tables
    group by travaled_city, [COL1] =sum(expense) when dept = 1, [COL2]=sum(expense) when dept = 2, [COL3] = sum(expense) when group = 3, =[COL4]=sum(expense) when group = 1 and  expense code = 0100,[COL5]= sum(expense) when group = 2 and  expense code
    = 0100, [COL6]sum(expense) when group = 3 and  expense code = 0100, [COL7]=sum(expense) when (exp_paid)<30, [COL8] = sum(expense) when dept in ('4','5','6')
    and have a grand total of each column
    any help is greatly appreciated

    Would this work?
    select travaled_city,
    sum(case dept when 1 then expense else 0 end) as [COL1],
    sum(case dept when 2 then expense else 0 end) as [COL2], ...

  • CASE STATEMENTS AND CASE EXPRESSIONS IN ORACLE9I PL/SQL

    제품 : PL/SQL
    작성날짜 : 2001-11-13
    CASE STATEMENTS AND CASE EXPRESSIONS IN ORACLE9I PL/SQL
    =======================================================
    PURPOSE
    아래의 자료는 Case 문에서 oracle 8.1.7과 Oracle 9i의 New Feature로 8.1.7에서는
    sqlplus 에서만 가능했고, 9i 부터는 pl/sql 까지 가능하다.
    Explanation
    1. Oracle 8.1.7 Feature
    Oracle 8.1.7 에서 Case 문은 Decode 문과 유사하지만, 기존의 decode 문을 쓰는 것보다
    더 많은 확장성과 Logical Power와 좋은 성능을 제공한다. 주로 나이와 같이 category 별로
    나눌때 주로 사용하고 Syntex는 아래와 같다.
    CASE WHEN <cond1> THEN <v1> WHEN <cond2> THEN <v2> ... [ELSE <vn+1> ] END
    각각의 WHEN...THEN 절의 argument 는 255 까지 가능하고 이 Limit를 해결하려면
    Oracle 8i Reference를 참조하면 된다.
    The maximum number of arguments in a CASE expression is 255, and each
    WHEN ... THEN pair counts as two arguments. To avoid exceeding the limit of 128 choices,
    you can nest CASE expressions. That is expr1 can itself be a CASE expression.
    Case Example : 한 회사의 모든 종업원의 평균 봉급을 계산하는데 봉급이 $2000보다 작은경우
    2000으로 계산을 하는 방법이 pl/sql을 대신하여 case function을 사용할 수 있다.
    SELECT AVG(CASE when e.sal > 2000 THEN e.sal ELSE 2000 end) FROM emp e;
    Case Example : 나이를 column으로 가지고 있는 customer table을 예로 들어보자.
    SQL> SELECT
    2 SUM(CASE WHEN age BETWEEN 70 AND 79 THEN 1 ELSE 0 END) as "70-79",
    3 SUM(CASE WHEN age BETWEEN 80 AND 89 THEN 1 ELSE 0 END) as "80-89",
    4 SUM(CASE WHEN age BETWEEN 90 AND 99 THEN 1 ELSE 0 END) as "90-99",
    5 SUM(CASE WHEN age > 99 THEN 1 ELSE 0 END) as "100+"
    6 FROM customer;
    70-79 80-89 90-99 100+
    4 2 3 1
    1 SELECT
    2 (CASE WHEN age BETWEEN 70 AND 79 THEN '70-79'
    3 WHEN age BETWEEN 80 and 89 THEN '80-89'
    4 WHEN age BETWEEN 90 and 99 THEN '90-99'
    5 WHEN age > 99 THEN '100+' END) as age_group,
    6 COUNT(*) as age_count
    7 FROM customer
    8 GROUP BY
    9 (CASE WHEN age BETWEEN 70 AND 79 THEN '70-79'
    10 WHEN age BETWEEN 80 and 89 THEN '80-89'
    11 WHEN age BETWEEN 90 and 99 THEN '90-99'
    12* WHEN age > 99 THEN '100+' END)
    SQL> /
    AGE_G AGE_COUNT
    100+ 1
    70-79 4
    80-89 2
    90-99 3
    Example
    2. Oracle 9i Feature
    Oracle 9i부터는 pl/sql에서도 case문을 사용할 수 있으면 이것은
    복잡한 if-else 구문을 없애고, C언어의 switch문과 같은 기능을 한다.
    아래의 9i pl/sql Sample 및 제약 사항을 보면 아래와 같다.
    Sample 1:
    A simple example demonstrating the proper syntax for a case
    statement
    using a character variable as the selector. See the section entitled
    'Restrictions' at the end of this article for details on which PLSQL
    datatypes may appear as a selector in a case statement or
    expression.
    - - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - -
    set serveroutput on
    declare
    achar char(1) := '&achar';
    begin
    case achar
    when 'A' then dbms_output.put_line('The description was Excellent');
    when 'B' then dbms_output.put_line('The description was Very Good');
    when 'C' then dbms_output.put_line('The description was Good');
    when 'D' then dbms_output.put_line('The description was Fair');
    when 'F' then dbms_output.put_line('The description was Poor');
    else dbms_output.put_line('The description was No such Grade');
    end case;
    end;
    - - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - -
    Sample 2:
    A simple example demonstrating the proper syntax for a case
    expression
    using a character variable as the selector. See the section entitled
    'Restrictions' at the end of this article for details on which PLSQL
    datatypes may appear as a selector in a case statement or
    expression.
    - - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - -
    set serveroutput on
    declare
    achar char(1) := '&achar';
    description varchar2(20);
    begin
    description :=
    case achar
    when 'A' then 'Excellent'
    when 'B' then 'Very Good'
    when 'C' then 'Good'
    when 'D' then 'Fair'
    when 'F' then 'Poor'
    else 'No such grade'
    end;
    dbms_output.put_line('The description was ' || description);
    end;
    - - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - -
    NOTE: The above simple samples demonstrate two subtle differences in the
    syntax
    required for case statements and expressions.
    1) A case STATEMENT is terminated using the 'end case' keywords; a
    case
    EXPRESSION is terminated using only the 'end' keyword.
    2) Each item in a case STATEMENT consists of one or more
    statements, each
    terminated by a semicolon. Each item in a case expression
    consists of
    exactly one expression, not terminated by a semicolon.
    Sample 3:
    Sample 1 demonstrates a simple case statement in which the selector
    is
    compared for equality with each item in the case statement body.
    PL/SQL
    also provides a 'searched' case statement as an alternative; rather
    than
    providing a selector and a list of values, each item in the body of
    the
    case statement provides its own predicate. This predicate can be any
    valid boolean expression, but only one case will be selected.
    - - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - -
    set serveroutput on
    declare
    achar char(1) := '&achar';
    begin
    case
    when achar = 'A' then dbms_output.put_line('The description was
    Excellent');
    when achar = 'B' then dbms_output.put_line('The description was Very
    Good');
    when achar = 'C' then dbms_output.put_line('The description was
    Good');
    when achar = 'D' then dbms_output.put_line('The description was
    Fair');
    when achar = 'F' then dbms_output.put_line('The description was
    Poor');
    else dbms_output.put_line('The description was No such Grade');
    end case;
    end;
    - - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - -
    Sample 4:
    This sample demonstrates the proper syntax for a case expression of
    the
    type discussed in Sample 3 above.
    - - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - -
    set serveroutput on
    declare
    achar char(1) := '&achar';
    description varchar2(20);
    begin
    description :=
    case
    when achar = 'A' then 'Excellent'
    when achar = 'B' then 'Very Good'
    when achar = 'C' then 'Good'
    when achar = 'D' then 'Fair'
    when achar = 'F' then 'Poor'
    else 'No such grade'
    end;
    dbms_output.put_line('The description was ' || description);
    end;
    - - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - -
    Sample 5:
    This sample demonstrates the use of nested case statements. It is
    also
    permissable to nest case expressions within a case statement (though
    it
    is not demonstrated here), but nesting of case statements within a
    case
    expression is not possible since statements do not return any value.
    - - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - -
    set serveroutput on
    declare
    anum1 number := &anum1;
    anum2 number := &anum2;
    answer number;
    begin
    case anum1
    when 1 then case anum2
    when 1 then answer := 10;
    when 2 then answer := 20;
    when 3 then answer := 30;
    else answer := 999;
    end case;
    when 2 then case anum2
    when 1 then answer := 15;
    when 2 then answer := 25;
    when 3 then answer := 35;
    else answer := 777;
    end case;
    else answer := 555;
    end case;
    dbms_output.put_line('The answer is ' || answer);
    end;
    - - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - -
    Sample 6:
    This sample demonstrates nesting of case expressions within another
    case
    expression. Note again the absence of semicolons to terminate both
    the
    nested case expression and the individual cases of those
    expressions.
    - - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - -
    set serveroutput on
    declare
    anum1 number := &anum1;
    anum2 number := &anum2;
    answer number;
    begin
    answer :=
    case anum1
    when 1 then case anum2
    when 1 then 10
    when 2 then 20
    when 3 then 30
    else 999
    end
    when 2 then case anum2
    when 1 then 15
    when 2 then 25
    when 3 then 35
    else 777
    end
    else 555
    end;
    dbms_output.put_line('The answer is ' || answer);
    end;
    - - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - -
    Although PL/SQL anonymous blocks have been used in all of the examples
    so far,
    case statements and expressions can also be used in procedures,
    functions, and
    packages with no changes to the syntax.
    The following samples are included for completeness and demonstrate the
    use of
    case statements and/or expressions in each of these scenarios.
    Sample 7:
    This sample demonstrates use of a case statement in a stored
    procedure.
    Note that this sample also demonstrates that it is possible for each
    of
    the items in the case body to consist of more than one statement.
    - - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - -
    set serveroutput on
    create or replace procedure testcasestmt ( anum IN number ) is
    begin
    case
    when anum = 1 then dbms_output.put_line('The number was One');
    dbms_output.put_line('In case 1');
    when anum = 2 then dbms_output.put_line('The number was Two');
    dbms_output.put_line('In case 2');
    when anum = 3 then dbms_output.put_line('The number was Three');
    dbms_output.put_line('In case 3');
    when anum = 4 then dbms_output.put_line('The number was Four');
    dbms_output.put_line('In case 4');
    when anum = 5 then dbms_output.put_line('The number was Five');
    dbms_output.put_line('In case 5');
    else dbms_output.put_line('The description was Invalid input');
    dbms_output.put_line('In the else case');
    end case;
    end;
    exec testcasestmt(&anum);
    - - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - -
    Sample 8:
    This sample demonstrates the use of a case statement in a stored
    package.
    - - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - -
    set serveroutput on
    create or replace package testpkg2 is
    procedure testcasestmt ( anum IN number );
    function testcasestmt_f ( anum IN number ) return number;
    end testpkg2;
    create or replace package body testpkg2 is
    procedure testcasestmt ( anum IN number ) is
    begin
    case
    when anum = 1 then dbms_output.put_line('The number was One');
    dbms_output.put_line('In case 1');
    when anum = 2 then dbms_output.put_line('The number was Two');
    dbms_output.put_line('In case 2');
    when anum = 3 then dbms_output.put_line('The number was Three');
    dbms_output.put_line('In case 3');
    when anum = 4 then dbms_output.put_line('The number was Four');
    dbms_output.put_line('In case 4');
    when anum = 5 then dbms_output.put_line('The number was Five');
    dbms_output.put_line('In case 5');
    else dbms_output.put_line('The description was Invalid input');
    dbms_output.put_line('In the else case');
    end case;
    end;
    function testcasestmt_f ( anum IN number ) return number is
    begin
    case
    when anum = 1 then dbms_output.put_line('The number was One');
    dbms_output.put_line('In case 1');
    when anum = 2 then dbms_output.put_line('The number was Two');
    dbms_output.put_line('In case 2');
    when anum = 3 then dbms_output.put_line('The number was Three');
    dbms_output.put_line('In case 3');
    when anum = 4 then dbms_output.put_line('The number was Four');
    dbms_output.put_line('In case 4');
    when anum = 5 then dbms_output.put_line('The number was Five');
    dbms_output.put_line('In case 5');
    else dbms_output.put_line('The description was Invalid input');
    dbms_output.put_line('In the else case');
    end case;
    return anum;
    end;
    end testpkg2;
    exec testpkg2.testcasestmt(&anum);
    variable numout number
    exec :numout := testpkg2.testcasestmt_f(&anum);
    print numout
    - - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - -
    Sample 9:
    This sample demonstrates the use of a case expression in a stored
    package.
    - - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - -
    set serveroutput on
    create or replace package testpkg is
    procedure testcase ( anum IN number );
    function testcase_f ( anum IN number ) return number;
    end testpkg;
    create or replace package body testpkg is
    procedure testcase ( anum IN number ) is
    anumber number := anum;
    anothernum number;
    begin
    anothernum :=
    case
    when anumber = 1 then anumber + 1
    when anumber = 2 then anumber + 2
    when anumber = 3 then anumber + 3
    when anumber = 4 then anumber + 4
    when anumber = 5 then anumber + 5
    else 999
    end;
    dbms_output.put_line('The number was ' || anothernum);
    end;
    function testcase_f ( anum IN number ) return number is
    anumber number := anum;
    anothernum number;
    begin
    anothernum :=
    case
    when anumber = 1 then anumber + 1
    when anumber = 2 then anumber + 2
    when anumber = 3 then anumber + 3
    when anumber = 4 then anumber + 4
    when anumber = 5 then anumber + 5
    else 999
    end;
    dbms_output.put_line('The number was ' || anothernum);
    return anothernum;
    end;
    end testpkg;
    variable numout number
    exec testpkg.testcase(&anum);
    exec :numout := testpkg.testcase_f(&anum);
    print numout
    - - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - -
    제약 사항
    다음의 databasetype은 case 문에서 지원되지 않는다.
    BLOB
    BFILE
    VARRAY
    Nested Table
    PL/SQL Record
    PL/SQL Version 2 tables (index by tables)
    Object type (user-defined type)
    All of these types except for object types face a similar restriction
    even for if statements (i.e. they cannot be compared for equality directly) so this is unlikely to change for these types. Lack of support for object types is simply an implementation restriction which may be relaxed in future releases.
    Reference Ducumment
    Oracle 8.1.7 Manual
    NOTE:131557.1

    I have done the following code but doesn't
    like the statement of - "case(butNext)". What do you mean "doesn't like" -- did you get an error message?
    I'm guessing it won't compile because you're trying to switch on a Button.
    I tried something
    like "g.fillOval(100,50,70,90, BorderLayout.NORTH)"...no that doesn't make sense. You only use BorderLayout.NORTH when you're adding components to a BorderLayout layout manager. An oval is not a component and fillOval isn't adding a component and Graphics is not a Panel or layout manager.
    Would appreciate it if someone could tell me how to position
    shapes using the graohic method. I think the problem is that you're confusing shapes with components.

  • I can't see sql server express 2012 from ssms 2008 R2 -- what do I need to download?

    I'm running sql server 2008 R2 Developer on a win7 (pro) workstation.   I would like to keep this installation because it has SSRS and Analysis Server. But I was not able to attach a sql 2012 DB so I downloaded Sql Server Express 2012 (per the
    picture below - 1st option selected) and installed it.   Sql Server Express 2012 appears to be running -- per my services list, but I cannot see the instance in ssms 2008 R2. Do I need to uninstall Sql Server Express 2012 and then download another
    option (from the picture below)? How should I proceed so that I can have a working/workable instance of Sql Server Express 2012 that I can see in ssms (whatever required version) and also keep sql server 2008 R2?  which download should I select (from
    the picture below?
    Rich P

    Should I uninstall Sql server 2012 first?
    Rich P
    No you do not need to uninstall any thing
    >> Sql Server Express 2012 appears to be running -- per my services list, but I cannot see the instance in ssms 2008 R2.
    You need to just download SQL Server 2012 express management studio and use that to connect to SQL Server 2012. And use SSMS 2008 r2 to connect to SQL Server 2008 r2.
    This File :ENU\x64\SQLManagementStudio_x64_ENU.exe
    Although I guess SSMS 2012 express with SP2 would work just fine and you would connect to 2008 R2 database using that.
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
    My Technet Wiki Article
    MVP

  • Nested CASE expressions in SQL Server 2008 R2

    Hi, For some reason when I use the below CASE expression in my SELECT statement I get duplicate records.
    CASE WHEN <Condition 1> THEN <Expression 1>
    WHEN <Condition 2> THEN <Expression 2>
    WHEN <Condition 3> THEN <Expression 3>
    WHEN <Condition 4> THEN <Expression 4>
    END AS CaseResult
    Also tried using coalesce with no luck. How to write a nested CASE expression which would yield just one expression. In case if I have to combine 2 different Expressions for 1 record, Is there a way to merge the 2 Expressions writing CASE
    expression something like below.
    STUFF ((SELECT ',' + CASE WHEN <Condition 1> THEN <Expression 1>
    WHEN <Condition 2> THEN <Expression 2>
    WHEN <Condition 3> THEN <Expression 3>
    WHEN <Condition 4> THEN <Expression 4>
    END
    FOR XML PATH(''), ROOT('MyString'), TYPE).value('/MyString[1]','VARCHAR(MAX)'), 1, 1,'') AS CaseResult
    --ResultSet
    CaseResult
    <Expression 1, Expression 2>
    I am using SQL Server 2008 R2. Thanks in advance.......
    Ione

    Hi, For some reason when I use the below CASE expression in my SELECT statement I get duplicate records. Also tried using coalesce with no luck. How to write a nested CASE expression which would yeild just one expression. In case if I have to combine 2 different
    Expressions for 1 record, Is there a way to merge the 2 Expressions writing CASE expression something like below in SQL Server 2008 R2.
    CASE WHEN <Condition 1> THEN <Expression 1>
    WHEN <Condition 2> THEN <Expression 2>
    WHEN <Condition 3> THEN <Expression 3>
    WHEN <Condition 4> THEN <Expression 4>
    END AS CaseResultSTUFF ((SELECT ',' + CASE WHEN <Condition 1> THEN <Expression 1>
    WHEN <Condition 2> THEN <Expression 2>
    WHEN <Condition 3> THEN <Expression 3>
    WHEN <Condition 4> THEN <Expression 4>
    END
    FOR XML PATH(''), ROOT('MyString'), TYPE).value('/MyString[1]'<span clas
    Ione

  • Case expression error with a select query in the condition

    Consider the two query below:
    1. The first one use a case expression :
    select case when 3 > (select 1 from dual)*2 then 1 else 0 end from dual
    2. The equivalent with a decode expression:
    select
    decode(sign(3-(select 1 from dual)*2),1,1,0) from dual
    The first query return an ORA-00905 error but not the second one. It seems that the arithmetic operation (select 1 from dual)*2 cause the error. The folowing query doesn't return this error:
    select case when 3 > (select 2 from dual) then 1 else 0 end from dual
    I run the test with Oracle 8.1.7.3 Enterprise Edition. Is it a known bug ?
    Thomas

    ora8174>select case when 3 > (select 1 from dual)*2 then 1 else 0 end from dual;
    select case when 3 > (select 1 from dual)*2 then 1 else 0 end from dual
    ERROR at line 1:
    ORA-00905: missing keyword
    ora8174>select case when 3 > cast((select 1 from dual)*2 as number) then 1 else 0 end from dual;
    CASEWHEN3>CAST((SELECT1FROMDUAL)*2ASNUMBER)THEN1ELSE0END
                                                           1
    1 row selected.
    ora8174>select case when 3 > to_number((select 1 from dual)*2) then 1 else 0 end from dual;
    CASEWHEN3>TO_NUMBER((SELECT1FROMDUAL)*2)THEN1ELSE0END
                                                        1
    1 row selected.
    ora8174>@connect
    Connected.
    ora9204>select case when 3 > (select 1 from dual)*2 then 1 else 0 end from dual;
    CASEWHEN3>(SELECT1FROMDUAL)*2THEN1ELSE0END
                                             1
    1 row selected.

  • Please convert decode query to case expression

    Please convert decode query to case expression
    Decode(Sign(id), 1, id, null) positive, Decode(Sign(id), -1, id, null) negative from dual;

    this is a serious forums that help people, if you want that we do your "homeworks" i must told you that you should pay us for that.
    Edited by: Fran on 05-jun-2013 23:41
    1002966     
    Handle:      1002966 
    Status Level:      Newbie
    Registered:      Apr 28, 2013
    Total Posts:      20
    Total Questions:      12 (12 unresolved)

  • CASE Expression Syntax( PL/SQL)

    Hi,
    I am facing a strange problem. I want touse CASE expression. I am facing the following error in PL/sql.
    can somebody plz tell me where i am wrong? wht's exact syntax of CASE in Plsql.
    1 declare
    2 var1 number;
    3 begin
    4 var1:=2;
    5 case var1
    6 when 1
    7 dbms_output.put_line('1');
    8 when 2 dbms_output.put_line('2');
    9 else dbms_output.put_line('else');
    10 end case;
    11* end;
    SQL> /
    case var1
    ERROR at line 5:
    ORA-06550: line 5, column 1:
    PLS-00103: Encountered the symbol "CASE" when expecting one of the following:
    begin declare end exception exit for goto if loop mod null
    pragma raise return select update while <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> <<
    close current delete fetch lock insert open rollback
    savepoint set sql execute commit forall
    <a single-quoted SQL string>
    Thx in Advance.
    Namrata

    I wrote a simple test:
    select case 3
    when 1 then 'true'
    when 0 then 'false'
    else 'maybe'
    end
    from dual
    and this works fine. Now I tried to write a PL/SQL function as a test and got errors. Please help!
    create or replace function hiSpecEval(evalOper in varchar2, evalVal in number)
    return number is
    Result number;
    begin
    case 3
    when 1 then result := 1
    when 0 then result := 'false'
    else result := 'maybe'
    end
    return(Result);
    end hiSpecEval;
    and I got errors:
    Compilation errors for FUNCTION PJ.HISPECEVAL
    Error: PLS-00103: Encountered the symbol "WHEN" when expecting one of the following:
    * & = - + ; < / > at in is mod not rem <an exponent (**)>
    <> or != or ~= >= <= <> and or like between ||
    Line: 7
    Text: when 0 then result := 'false'
    Error: Hint: Parameter 'evalOper' is declared but never used in 'hiSpecEval'
    Line: 1
    Text: create or replace function hiSpecEval(evalOper in varchar2, evalVal in number)
    Error: Hint: Parameter 'evalVal' is declared but never used in 'hiSpecEval'
    Line: 1
    Text: create or replace function hiSpecEval(evalOper in varchar2, evalVal in number)
    Error: Hint: Value assigned to 'result' never used in 'hiSpecEval'
    Line: 6
    Text: when 1 then result := 1

  • Sql Server Express Query String error

    I am having trouble trying to filter my sql database using the query string against a date column in my database.  I set a date variable = "dd/mm/yyy" format but when I apply that in the sql query as:
    StartPeriod = CDate("01/" & Today.Month.ToString & "/" & Today.Year.ToString)
    EndPeriod = CDate(Today.Day.ToString & "/" & Today.Month.ToString & "/" & Today.Year.ToString)
    At this point StartPeriod = #04/01/2015#  and EndPeriod is #04/27/2015#
    sql = "SELECT * FROM Transactions WHERE  ((PaidOutDate IS Null) OR (TransDate >= '" & StartPeriod & "' AND TransDate <= '" & EndPeriod & "')
    When I execute the Sql command I get this error:
    "Conversion failed when converting date and/or time from character string"
    My Current Culture is {en-AU}
    Any help is appreciated.
    Brad
    BHend

    Visakh,
    Further to the problem above.  Your suggestion worked well on my laptop, but when I transferred the program to my desktop it failed with the error: "Conversion failed when converting date and/or time from character string" again.  Both
    computers are running the same version of Windows 8.1, both running the same version of vs express 2012 and both running the same version of ssms.  Both Windows 8.1 versions have the same English (Australia) as the Region and language.  The only
    difference that I can find is that while both have a CurrentCulture of {en=AU} and CurrentUICulture of {en-GB} the laptop, where the program works has an InstalledUICulture of {en-GB} and the PC where it doesn't work has an InstalledUICulture of {en-US}.
    Do you think this could be the problem?  If so, how would I change the InstalledIUCulture?
    As you can tell I am way our of my depth here, I've looked in the Control Panel and both computers appear to have the same settings for options that I think are relevant, but of course there could be hundreds of other settings nI don't know about. 
    I've also progressively worked through the Registry on both computers comparing their settings but could find nothing relevant. 
    Any suggestions of where to look?
    Thanks Again
    Brad
    BHend

  • T-sql case statement in a select

    When I execute the following t-sql 2012 statement, the "NO Prod' value is not
    being displayed from the sql listed below:
    SELECT DISTINCT
    IsNull(cs.TYPE,'') as type,
    CASE IsNull(Course.TYPE,'')
    WHEN 'AP' then 'AP Prod'
    WHEN 'IB' then 'IB Prod'
    WHEN 'HR' then 'HR Prod'
    WHEN '' then 'NO Prod'
    END AS label
    FROM CustSection cs
    INNER JOIN dbo.Person p on P.personID = cs.personID
    Left join customCustomer cs564 on cs564.personID = p.personID and
    cs564.attributeID ='564'
       where ( cs.type is null and cs564.attributeID = null)    
         or
        (cs.type IN ('HR','AP') OR
          (cs.type='IB' AND SUBSTRING(cs.code,1,1)='3'))  
    ORDER BY label
    What I want is for 'NO Prod' to be displayed when
    cs.type is null and cs564.attributeId  is null.
    Thus can you tell me how to fix query above so the 'NO Prod'  value is displayed in the
    select statement listed above?

    There is no CASE statement in SQL; we have a CASE expression. We do not use the old 1970's Sybase*- ISNULL(); we have  COALESCE().
    There is no such thing as a magic generic “type” in RDBMS. There is no such thing as a generic “code” in RDBMS. They have to to be “<something in particular>_type” and “<something in particular>_code” in a valid data model. How about blood_type
    and postal_code?? 
    There is no such thing as a generic “person” table in RDBMS. First of all, do you really have only one person, as you said?? But the important point is that these persons play a role in the data model – customers, students, etc. You are doing the wrong thing
    and doing it badly.  This table should not exist any more than a  table of “Things” such exist. 
    And the reason you are beyond any real help is “attribute_id” which tell us that your schema is a total disaster of data and meta data mixed together in a non-RDBMS written in awful SQL. Based on cleaning up bad SQL for 30 years, it looks like you are an OO
    programmer who never unlearned his prior mindset. 
    Why did you allow an encoding schema with blanks? Why do you have so many NULL-able columns? 
    SELECT DISTINCT is very rare in a properly designed schema. The DRI references assure that rows cam be matched. To get you started, look at this skeleton:
    CREATE TABLE Products
    (product_gtin CHAR(15) NOT NULL PRIMARY KEY, 
     product_type CHAR(2) DEFAULT 'XX' NOT NULL
      CHECK (product_type IN ('AP', 'IB', 'HR', 'XX'))
    The table name is a plural noun because it models a set (NOT an OO class).
    The GTIN is an industry standard identifiers, and not have to invent our own.
    The product_type (not blood_type, not automobile_body_type!) has a constraint that assures it is never NULL and never blank; I invented 'XX' as a default. 
    You need more help than you can get in a forum, but if you will follow Netiquette and post the DDL, we can get you started.
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • Issue when installing SQL Server Express 2012 - "The requested control is not valid for this service" + "Could not find the database engine startup handle"

    Good morning,
    I'm experiencing the following issue when installing Microsoft SQL Server Express 2012 (with tools, SQLEXPRWT_x86_ENU.exe) on the laptop of my company;
    Installation goes plain until around the end of the progress bar, it stops on the setup of
    SqlEngineDBStartConfigAction_install_configrc_Cpu32
    giving 7-8 times, even pressing "Cancel", the message "The requested control is not valid for this service";
    After this, I receive one last message ""Could not find the database engine startup handle", then installation ends with failures, in particular the Database Engine and the Server Replication failed to be installed.
    I've put in my SkyDrive the error log I received after the install;
    I'm at full disposal if you need further information,
    thank you in advance
    Best regards
    Francesco

    Well, i just ran into this issue and the problem was lack of admin rights. It was my company's laptop so got the setup initiated by my company's IT team with admin rights. However, the upon completion of setup, i go the same error messages as stated above: 
    SqlEngineDBStartConfigAction_install_configrc_Cpu32
    giving 7-8 times, even pressing "Cancel", the message "The requested control is not valid for this service";
    After this, I receive one last message ""Could not find the database engine startup handle", then installation ends with failures, in particular the Database Engine and the Server Replication failed to be installed.
    Also, if you open SQL Server Configuration, the status of the service is "Change Pending" and you would not be able to set the startup login type to Local Service/System/Network.
    Then, I just got my account added as Local Admin and then tried to start the service and was able to.
    However, I am not sure whether same was the case for you.
    Please mark the answer as helpful if i have answered your query. Thanks and Regards, Kartar Rana

  • Case expression many cases

    Hi all,
    I am creating a Java application that - among other useful things - needs to change the values of the DB according a to a huge (maybe > 1000 mappings) , user-created (through the UI) mapping like the one below:
    DB Value  UI Value
    a --> A1
    b --> B2
    c --> C3
    d --> D4
    e --> E5
    f --> F6
    So, if my SELECT contains the column that needs its values changed (the values on the left), I need to somehow get the values on the right.
    Normally, I would create a table with this mapping and use it in my query to have it return the values I need. However, I cannot do this, because I don't have (and will not get) privileges to create tables or procedures.
    * One solution that comes into my mind is to generate through Java a query with a HUGE case expression, with a case for each mapping. But this does not seem right.
    * Another thing I could do is make the query return the DB value and in my application I could do this mapping.
    Is there a more elegant way to do the mapping without creating a table in the DB?
    Thanks,
    Markos
    Edited by: user622271 on Jun 23, 2009 6:42 AM

    Your best bet is a lookup table. If you do not have privilege to create a lookup table for some reason, then you should be allowed to create a view.
    I am not sure how many mappings you will finally have, but it sounds like too much to DECODE. But in a simpler circumstance, you could use DECODE directly in your application SQL or use it to create a view then access the view from your application instead of the table.
    SELECT DECODE(db_value,
                  'a','A1',
                  'b','B2',
                  'c','C3',
                  'd','D4',
                  'x','Xn') ui_value
    FROM table_name
    /If you are lucky to have your db_value exist with some kind of pattern, then you can reduce the number of lines with some pattern matching.

  • Having issues with getting SQL Server Express to start services and run.

    Good afternoon everyone,
    I have been working on a 2012 R2 server getting ready to move databases to new hardware.  I had SQL Server Express 2008 R2 running on this server with no issues.  I was handed another software package that ran SQL Express 2012 and had to for compatibility
    reasons.  I have had multiple versions run on Server 2012 before with no issues.  This time, not so lucky.  When the installer from the updated package put on SQL Express 2012 it completed with errors ( error log posted at the end of post) and
    would not allow me to run software.  I then tried the db that I had installed on 2008 R2 and it also gave the  same error as the 2012 version.  IN basic terms the required services attempted to start and shut back down again.  I have received
    Error 1068 about database handles and error %%945.   I know this db has plenty of space and the permissions were added for the Admin account to access both db's.  I then uninstalled both versions and tried again, with the same errors listed when
    I tried to start the services.     I am thinking that a clean install would fix the issue however I am not certain what files/folders/reg entries need to be deleted or modified.  I have researched all the errors I can find, however I am very
    new with SQL anything so I know I am missing something.   I also do not have an "E:" drive on this server (not sure why it is going there). Input would be very welcome as I am not certain where to go from here. 
    Thanks,
    Matt
    Error Log follows, server and domain names have been blacked out with ****.
    2015-04-15 11:57:55.16 Server      Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
    Dec 28 2012 20:23:12 
    Copyright (c) Microsoft Corporation
    Express Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
    2015-04-15 11:57:55.16 Server      (c) Microsoft Corporation.
    2015-04-15 11:57:55.16 Server      All rights reserved.
    2015-04-15 11:57:55.16 Server      Server process ID is 4104.
    2015-04-15 11:57:55.16 Server      System Manufacturer: 'HP', System Model: 'ProLiant ML350p Gen8'.
    2015-04-15 11:57:55.16 Server      Authentication mode is WINDOWS-ONLY.
    2015-04-15 11:57:55.16 Server      Logging SQL Server messages in file 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Log\ERRORLOG'.
    2015-04-15 11:57:55.17 Server      The service account is 'NT AUTHORITY\LOCAL SERVICE'. This is an informational message; no user action is required.
    2015-04-15 11:57:55.17 Server      Registry startup parameters: 
    -d C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\master.mdf
    -e C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Log\ERRORLOG
    -l C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\mastlog.ldf
    2015-04-15 11:57:55.17 Server      Command Line Startup Parameters:
    -s "SQLEXPRESS"
    2015-04-15 11:57:55.48 Server      SQL Server detected 1 sockets with 6 cores per socket and 12 logical processors per socket, 12 total logical processors; using 8 logical processors based on SQL Server licensing. This is an informational message;
    no user action is required.
    2015-04-15 11:57:55.48 Server      SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
    2015-04-15 11:57:55.48 Server      Detected 8157 MB of RAM. This is an informational message; no user action is required.
    2015-04-15 11:57:55.48 Server      Using conventional memory in the memory manager.
    2015-04-15 11:57:55.68 Server      This instance of SQL Server last reported using a process ID of 7840 at 4/15/2015 11:57:47 AM (local) 4/15/2015 3:57:47 PM (UTC). This is an informational message only; no user action is required.
    2015-04-15 11:57:55.68 Server      Node configuration: node 0: CPU mask: 0x00000000000000ff:0 Active CPU mask: 0x00000000000000ff:0. This message provides a description of the NUMA configuration for this computer. This is an informational message
    only. No user action is required.
    2015-04-15 11:57:55.69 Server      Using dynamic lock allocation.  Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node.  This is an informational message only.  No user action is required.
    2015-04-15 11:57:55.72 Server      Software Usage Metrics is disabled.
    2015-04-15 11:57:55.73 spid5s      Starting up database 'master'.
    2015-04-15 11:57:55.79 spid5s      20 transactions rolled forward in database 'master' (1:0). This is an informational message only. No user action is required.
    2015-04-15 11:57:55.79 spid5s      0 transactions rolled back in database 'master' (1:0). This is an informational message only. No user action is required.
    2015-04-15 11:57:55.80 Server      CLR version v4.0.30319 loaded.
    2015-04-15 11:57:55.86 spid5s      Service Master Key could not be decrypted using one of its encryptions. See sys.key_encryptions for details.
    2015-04-15 11:57:55.89 Server      Common language runtime (CLR) functionality initialized using CLR version v4.0.30319 from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\.
    2015-04-15 11:57:55.91 spid5s      SQL Server Audit is starting the audits. This is an informational message. No user action is required.
    2015-04-15 11:57:55.91 spid5s      SQL Server Audit has started the audits. This is an informational message. No user action is required.
    2015-04-15 11:57:55.94 spid5s      SQL Trace ID 1 was started by login "sa".
    2015-04-15 11:57:55.94 spid5s      Server name is '********\SQLEXPRESS'. This is an informational message only. No user action is required.
    2015-04-15 11:57:55.96 spid5s      Failed to verify Authenticode signature on DLL 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Binn\ftimport.dll'.
    2015-04-15 11:57:55.96 spid5s      Starting up database 'msdb'.
    2015-04-15 11:57:55.96 spid9s      Starting up database 'mssqlsystemresource'.
    2015-04-15 11:57:55.96 spid5s      Error: 17204, Severity: 16, State: 1.
    2015-04-15 11:57:55.96 spid5s      FCB::Open failed: Could not open file e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\MSDBData.mdf for file number 1.  OS error: 3(The system cannot find the path specified.).
    2015-04-15 11:57:55.96 spid5s      Error: 5120, Severity: 16, State: 101.
    2015-04-15 11:57:55.96 spid5s      Unable to open the physical file "e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\MSDBData.mdf". Operating system error 3: "3(The system cannot find the path specified.)".
    2015-04-15 11:57:55.96 spid5s      Error: 17207, Severity: 16, State: 1.
    2015-04-15 11:57:55.96 spid5s      FileMgr::StartLogFiles: Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\MSDBLog.ldf'.
    Diagnose and correct the operating system error, and retry the operation.
    2015-04-15 11:57:55.96 spid5s      File activation failure. The physical file name "e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\MSDBLog.ldf" may be incorrect.
    2015-04-15 11:57:55.99 spid9s      The resource database build version is 11.00.3000. This is an informational message only. No user action is required.
    2015-04-15 11:57:56.02 spid12s     A self-generated certificate was successfully loaded for encryption.
    2015-04-15 11:57:56.03 spid12s     Server is listening on [ 'any' <ipv6> 53345].
    2015-04-15 11:57:56.03 spid12s     Server is listening on [ 'any' <ipv4> 53345].
    2015-04-15 11:57:56.03 spid12s     Server local connection provider is ready to accept connection on [ \\.\pipe\SQLLocal\SQLEXPRESS ].
    2015-04-15 11:57:56.03 spid12s     Server named pipe provider is ready to accept connection on [ \\.\pipe\MSSQL$SQLEXPRESS\sql\query ].
    2015-04-15 11:57:56.04 spid12s     Dedicated administrator connection support was not started because it is disabled on this edition of SQL Server. If you want to use a dedicated administrator connection, restart SQL Server using the trace flag 7806.
    This is an informational message only. No user action is required.
    2015-04-15 11:57:56.04 Server      SQL Server is attempting to register a Service Principal Name (SPN) for the SQL Server service. Kerberos authentication will not be possible until a SPN is registered for the SQL Server service. This is an informational
    message. No user action is required.
    2015-04-15 11:57:56.04 Server      The SQL Server Network Interface library could not register the Service Principal Name (SPN) [ MSSQLSvc/********.****.local:SQLEXPRESS ] for the SQL Server service. Windows return code: 0xffffffff, state: 53.
    Failure to register a SPN might cause integrated authentication to use NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies and if the SPN has not been
    manually registered.
    2015-04-15 11:57:56.04 Server      The SQL Server Network Interface library could not register the Service Principal Name (SPN) [ MSSQLSvc/********.****.local:53345 ] for the SQL Server service. Windows return code: 0xffffffff, state: 53. Failure
    to register a SPN might cause integrated authentication to use NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies and if the SPN has not been manually
    registered.
    2015-04-15 11:57:56.09 spid9s      Starting up database 'model'.
    2015-04-15 11:57:56.10 spid9s      Error: 17204, Severity: 16, State: 1.
    2015-04-15 11:57:56.10 spid9s      FCB::Open failed: Could not open file e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\model.mdf for file number 1.  OS error: 3(The system cannot find the path specified.).
    2015-04-15 11:57:56.10 spid9s      Error: 5120, Severity: 16, State: 101.
    2015-04-15 11:57:56.10 spid9s      Unable to open the physical file "e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\model.mdf". Operating system error 3: "3(The system cannot find the path specified.)".
    2015-04-15 11:57:56.10 spid9s      Error: 17207, Severity: 16, State: 1.
    2015-04-15 11:57:56.10 spid9s      FileMgr::StartLogFiles: Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\modellog.ldf'.
    Diagnose and correct the operating system error, and retry the operation.
    2015-04-15 11:57:56.10 spid9s      File activation failure. The physical file name "e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\modellog.ldf" may be incorrect.
    2015-04-15 11:57:56.10 spid9s      Error: 945, Severity: 14, State: 2.
    2015-04-15 11:57:56.10 spid9s      Database 'model' cannot be opened due to inaccessible files or insufficient memory or disk space.  See the SQL Server errorlog for details.
    2015-04-15 11:57:56.10 spid9s      SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required.
    

    Hi HMLunger,
    Did you install the SQL Server instance successfully? If not, please help to post the summary and detail logs for analysis. By default, the logs can be found in: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log.
    However, if you fail to start SQL Server Express service after successfully installing SQL Server,
    you might have to change the paths of the files by running the following scripts from the command prompt. For more details, please review this similar
    thread.
    NET START MSSQL$SQLEXPRESS /f /T3608
    SQLCMD -S .\SQLEXPRESS
    ALTER DATABASE model MODIFY FILE (NAME = logical_name , FILENAME = 'new_path\os_file_name');
    ALTER DATABASE model MODIFY FILE (NAME = logical_name , FILENAME = 'new_path\os_file_name');
    go
    exit;
    ALTER DATABASE msdb MODIFY FILE (NAME = logical_name , FILENAME = 'new_path\os_file_name');
    ALTER DATABASE msdb MODIFY FILE (NAME = logical_name , FILENAME = 'new_path\os_file_name');
    NET STOP MSSQL$SQLEXPRESS
    In addition, you can follow the steps in this KB article to uninstall SQL Server.
    Thanks,
    Lydia Zhang
    Lydia Zhang
    TechNet Community Support

  • Error Installing SQL Server Express 2008: '' is not a valid login or you do not have permission.

    I have tried installing SQL Server 2008 multiple times on my machine, and I always receive this error about 3/4 of the way through: '' is not a valid login or you do not have permission.
    I have tried installing both SQL Server Express 2008 with Tools and SQL Server Express 2008 with Advanced Services, and they both fail the same way. I am trying to do a new stand-alone installation.
    I'm running Windows XP Home Edition SP3.
    Looking into the error, some forums say I have to install it from THE Administrator account, and not an account with administrator permissions; it also cannot be in Safe Mode, because then the Windows Installer won't work. Unfortunately, I haven't been able to login to the Administrator account. I can go to the home login screen, do ctrl+alt+del twice, and attempt to login to the Administrator account, but I receive this error: Unable to Log You on because of an Account Restriction.
    Other forums say that in the Server Configuration section, all you have to do is provide the username and a strong password from an administrative account on the computer, and it doesn't have to be THE Administrator. Well, I did that, but for some reason it doesn't recognize my username and password, it says something like "The credentials you provided for the SQL Server Agent are invalid". BUT THOSE ARE THE CORRECT CREDENTIALS FOR MY ADMINISTRATIVE USER! So I'm forced to use one of the accounts without a password, like NT AUTHORITY\SYSTEM. That's the only way I can get past this step.
    Also, just FYI, on the next step, which is Database Engine Configuration, I am using Mixed Mode for the Security Mode. I AGAIN provide a password, and then add my current user (who IS an administrator on my machine!) to the SQL Server Administrators box.
    But yet, it fails every single time.
    This is pathetic and ridiculous. I must have tried to install this thing 15 times, that is not an exaggeration. I'm posting this on several other forums as well, maybe an MVP or Bill Gates himself can help me.
    I have one of the log files from a failed installation. If someone would like to see it, I will post it.

     Papy Normand wrote:
    Hello,
    Please, could you have a look on the excellent answer of Mike Wachal you will find here :
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=4160294&SiteID=1
    Don't hesitate to post again for more help or explanations
    Have a nice day
    PS : if you are talking about the Sql Server Agent Service, it is disabled for Sql Server Express. It is enabled only for the Workgroup/Standard/Dev and Entreprise Editions
    Sorry, but I've tried the suggestion in that link, and it hasn't helped me.
    For anyone wonder, the link is talking about the problem in Server Configuration where I enter my Windows user account and password (which is in the Administrative group), but it says the credentials are invalid.  The link suggests that you need to either enter your Windows account (which I did, and it wouldn't let me go to the next step), or to use one of the built in accounts (which I also tried, but it gave me the " '' is not a valid login" error during the installation).
    Any other ideas?
    I haven't had any answers from any other forums either, so I'll just post my log file in case anyone wants to look at this:
    Overall summary:
      Final result:                  SQL Server installation failed. To continue, investigate the reason for the failure, correct the problem, uninstall SQL Server, and then rerun SQL Server Setup.
      Exit code (Decimal):           -2068643839
      Exit facility code:            1203
      Exit error code:               1
      Exit message:                  SQL Server installation failed. To continue, investigate the reason for the failure, correct the problem, uninstall SQL Server, and then rerun SQL Server Setup.
      Start time:                    2008-11-17 11:13:47
      End time:                      2008-11-17 12:17:25
      Requested action:              Install
      Log with failure:              C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20081117_110917\Detail.txt
      Exception help link:           http%3a%2f%2fgo.microsoft.com%2ffwlink%3fLinkId%3d20476%26ProdName%3dMicrosoft%2bSQL%2bServer%26EvtSrc%3dsetup.rll%26EvtID%3d50000%26ProdVer%3d10.0.1600.22%26EvtType%3d0xBE029E38%400x12C2466D
    Machine Properties:
      Machine name:                  STEVEN
      Machine processor count:       2
      OS version:                    Windows XP
      OS service pack:               Service Pack 3
      OS region:                     United States
      OS language:                   English (United States)
      OS architecture:               x86
      Process architecture:          32 Bit
      OS clustered:                  No
    Product features discovered:
      Product              Instance             Instance ID                    Feature                                  Language             Edition              Version         Clustered
    Package properties:
      Description:                   SQL Server Database Services 2008
      SQLProductFamilyCode:          {628F8F38-600E-493D-9946-F4178F20A8A9}
      ProductName:                   SQL2008
      Type:                          RTM
      Version:                       10
      SPLevel:                       0
      Installation location:         D:\x86\setup\
      Installation edition:          DEVELOPER
    User Input Settings:
      ACTION:                        Install
      ADDCURRENTUSERASSQLADMIN:      False
      AGTSVCACCOUNT:                 NT AUTHORITY\SYSTEM
      AGTSVCPASSWORD:                *****
      AGTSVCSTARTUPTYPE:             Manual
      ASBACKUPDIR:                   C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Backup
      ASCOLLATION:                   Latin1_General_CI_AS
      ASCONFIGDIR:                   C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Config
      ASDATADIR:                     C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Data
      ASDOMAINGROUP:                 <empty>
      ASLOGDIR:                      C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Log
      ASPROVIDERMSOLAP:              1
      ASSVCACCOUNT:                  NT AUTHORITY\SYSTEM
      ASSVCPASSWORD:                 *****
      ASSVCSTARTUPTYPE:              Automatic
      ASSYSADMINACCOUNTS:            STEVEN\Steven
      ASTEMPDIR:                     C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Temp
      BROWSERSVCSTARTUPTYPE:         Disabled
      CONFIGURATIONFILE:             C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20081117_110917\ConfigurationFile.ini
      ENABLERANU:                    False
      ERRORREPORTING:                False
      FEATURES:                      SQLENGINE,REPLICATION,FULLTEXT,AS,RS,BIDS,CONN,IS,BC,SDK,BOL,SSMS,ADV_SSMS,SNAC_SDK,OCS
      FILESTREAMLEVEL:               0
      FILESTREAMSHARENAME:           <empty>
      FTSVCACCOUNT:                  NT AUTHORITY\LOCAL SERVICE
      FTSVCPASSWORD:                 *****
      HELP:                          False
      INDICATEPROGRESS:              False
      INSTALLSHAREDDIR:              C:\Program Files\Microsoft SQL Server\
      INSTALLSHAREDWOWDIR:           C:\Program Files\Microsoft SQL Server\
      INSTALLSQLDATADIR:             <empty>
      INSTANCEDIR:                   C:\Program Files\Microsoft SQL Server\
      INSTANCEID:                    MSSQLSERVER
      INSTANCENAME:                  MSSQLSERVER
      ISSVCACCOUNT:                  NT AUTHORITY\SYSTEM
      ISSVCPASSWORD:                 *****
      ISSVCSTARTUPTYPE:              Automatic
      MEDIASOURCE:                   D:\
      NPENABLED:                     0
      PID:                           *****
      QUIET:                         False
      QUIETSIMPLE:                   False
      RSINSTALLMODE:                 DefaultNativeMode
      RSSVCACCOUNT:                  NT AUTHORITY\SYSTEM
      RSSVCPASSWORD:                 *****
      RSSVCSTARTUPTYPE:              Automatic
      SAPWD:                         *****
      SECURITYMODE:                  SQL
      SQLBACKUPDIR:                  <empty>
      SQLCOLLATION:                  SQL_Latin1_General_CP1_CI_AS
      SQLSVCACCOUNT:                 NT AUTHORITY\SYSTEM
      SQLSVCPASSWORD:                *****
      SQLSVCSTARTUPTYPE:             Automatic
      SQLSYSADMINACCOUNTS:           STEVEN\Steven
      SQLTEMPDBDIR:                  <empty>
      SQLTEMPDBLOGDIR:               <empty>
      SQLUSERDBDIR:                  <empty>
      SQLUSERDBLOGDIR:               <empty>
      SQMREPORTING:                  False
      TCPENABLED:                    0
      X86:                           False
      Configuration file:            C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20081117_110917\ConfigurationFile.ini
    Detailed results:
      Feature:                       Database Engine Services
      Status:                        Failed: see logs for details
      MSI status:                    Passed
      Configuration status:          Failed: see details below
      Configuration error code:      0x12C2466D
      Configuration error description: '' is not a valid login or you do not have permission.
      Configuration log:             C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20081117_110917\Detail.txt
      Feature:                       SQL Client Connectivity SDK
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       SQL Server Replication
      Status:                        Failed: see logs for details
      MSI status:                    Passed
      Configuration status:          Failed: see details below
      Configuration error code:      0x12C2466D
      Configuration error description: '' is not a valid login or you do not have permission.
      Configuration log:             C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20081117_110917\Detail.txt
      Feature:                       Full-Text Search
      Status:                        Failed: see logs for details
      MSI status:                    Passed
      Configuration status:          Failed: see details below
      Configuration error code:      0x12C2466D
      Configuration error description: '' is not a valid login or you do not have permission.
      Configuration log:             C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20081117_110917\Detail.txt
      Feature:                       Analysis Services
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       Reporting Services
      Status:                        Failed: see logs for details
      MSI status:                    Passed
      Configuration status:          Failed: see details below
      Configuration error code:      0x12C2466D
      Configuration error description: '' is not a valid login or you do not have permission.
      Configuration log:             C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20081117_110917\Detail.txt
      Feature:                       Integration Services
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       Client Tools Connectivity
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       Management Tools - Complete
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       Management Tools - Basic
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       Client Tools SDK
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       Client Tools Backwards Compatibility
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       Business Intelligence Development Studio
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       SQL Server Books Online
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
      Feature:                       Microsoft Sync Framework
      Status:                        Passed
      MSI status:                    Passed
      Configuration status:          Passed
    Rules with failures:
    Global rules:
    Scenario specific rules:
    Rules report file:               C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20081117_110917\SystemConfigurationCheck_Report.htm

  • How to use the CASE Expression in Where Cluase?

    Hi All,
    I'm trying to use the CASE Expression in the Where Clause at some trigger on the Form?
    I've tried this Code:
    Declare
    N Number;
    begin
    SELECT COUNT(E.EMP_SID)
         INTO N
         FROM EMPLOYEES E, RANKS R
         WHERE CASE WHEN R.qualification_sid = 1104 AND E.rank_sid = 8 THEN
         (TO_DATE(E.RANK_DATE, 'DD-MM-RR')+(365*M.spe_per)+1)
         ELSE
         (TO_DATE(E.RANK_DATE, 'DD-MM-RR')+(365*M.mili_yea_per)+1)
         END
         BETWEEN TO_DATE('01-07-2011', 'DD-MM-RR') AND TO_DATE('31-07-2011', 'DD-MM-RR');
    END;
    When I run this code as a normal query at any SQL editor it works successfully, But When I Compile it at some trigger on the Form it gives me this error:
    Encountered the symbol "CASE" when expecting one of the following:
    ( - + mod ......
    Heeey how to specify the previous code to be shown as code in the thread?
    Note: I'm using Forms 6i

    OK I tried it and worked but for one condition:
    WHERE DECODE (E.qualification_sid, 1104,
         (TO_DATE(E.RANK_DATE, 'DD-MM-RR')+(365*M.spe_per)+1),
         (TO_DATE(E.RANK_DATE, 'DD-MM-RR')+(365*M.mili_yea_per)+1))
         BETWEEN TO_DATE('01-07-2011', 'DD-MM-RR') AND TO_DATE('31-07-2011', 'DD-MM-RR')
    But how to put two conditions for the same Expression:
    WHERE DECODE ((E.qualification_sid, 1104) AND (E.RANK_SID, 8),
         (TO_DATE(E.RANK_DATE, 'DD-MM-RR')+(365*M.spe_per)+1),
         (TO_DATE(E.RANK_DATE, 'DD-MM-RR')+(365*M.mili_yea_per)+1))
         BETWEEN TO_DATE('01-07-2011', 'DD-MM-RR') AND TO_DATE('31-07-2011', 'DD-MM-RR')
    The previous code gives me this error: missing right parenthesis

Maybe you are looking for