Create View in sql

hi
is there any problem in creating a select view directly in sql?
thanks in advanced
best regards

Scripts are, in my opinion, to be preferred over dynamic DDL every time. They are reliable, performant, tested and most importantly something that can be stored in source control. Configuration management is a severely under-appreciated aspect of database definition.
Although re-reading your post it seems to be that you are still generating the view dynamically and just getting the user to run the script by hand. That is even worse than dynamic DDL because it inconveniences your users as well. Tsk tsk.
it would be nice to know how to do the EXECUTE IMMEDIATE with an array Step through the array and concatenate the text into a single statement. Note that EXECUTE IMMEDIATE can only handle varchar2 variables, so you would be limited to 32767 characters. Anything larger would require DBMS_SQL. I really don't think such large statements ought to assembled and executed dynamically anyway. But I'm just old-fashioned, I guess.
Cheers, APC

Similar Messages

  • How do I create a view in SQL Server in Visual Studio Express 2013 for Desktop?

    Hi
    I've got a SQL Server database set up using the internal SQL Server in Visual Studio Express 2013 for Desktop. I want to create a view (using tables with one to many relationships) but I don't
    know how to do it.
    Where can I find a good tutorial on creating views in SQL Server in Visual Studio Express 2013 for Desktop? I think Visual Studio Express 2013 for Desktop doesn't have some view designer that
    exists in the non-express version of Visual Studio (if I'm not mistaken). So I think I'd need a tutorial on how to do the actual SQL, unless there is some tool I don't know about.
    Thanks

    Hi ,
    According to your description, if you install SQL Server SQL Server 2014 Express and SQL Server Manager Studio tools (SSMS), if you want to create a view, you can use SSMS. Then if you want to connect to and Diagram your SQL Express Database in Visual Studio
    2013, you can attach the database file by using the .NET Framework Data Provider for SQL Server in Visual Studio, and create a database diagram via expanding the “Database Diagrams” node.
     For more information, there is similar issue about how to connect to and Diagram your SQL Express Database in Visual Studio 2012 , you can review the following article,
    http://blogs.msdn.com/b/bethmassi/archive/2011/10/27/how-to-connect-to-and-diagram-your-sql-express-database-in-visual-studio-lightswitch.aspx.
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • Create view produces exception

    when i try "create view" by SQL / access i get the SQLException: No ResultSet was produced
    how to handle this?
    thanks gammloop

    oh, i find my mistake ...

  • How to create a view in sql workshop depending on an application item value

    Hello,
    How coud I create a view in SQL worshop based on an application item value? For example select id, name
    from gg_provider
    where user = ' || :USER
    So basically each user would have it's own view. But it does not work like that. I think when I use :USER then the database takes database user not the user logged in to apex application. How would be possible to use application user to create the view?
    Thank you very much.

    Instead of
    :APP_USER
    use
    v('APP_USER')
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Creating multiple views in SQL Server 2008 database through sqlcmd

    I've written a script that generates a ddl file. The ddl file contains all the table creation, view creation and stored proc creation SQL statements for refreshing my database. The ddl file gets run by sqlcmd.
    From reading other forum posts, it seems that views and stored procedures can only be created through the sqlcmd command when they are part of an individual batch. Can someone please direct me to the documentation on how to do this?
    My DDL is below pertaining to view creation:
    CREATE VIEW [global].[viewDstLocations]
      WITH SCHEMABINDING
     AS
       SELECT REPLACE(STR(c.dstYear, 2), ' ', '0') AS 'DSTyear',
              a.countryCode AS 'CountryCode',
              a.countryDivision AS 'CountryDivision',
              a.stateCode AS 'StateCode',
              a.locationCode AS 'LocationCode',
              a.locationType AS 'LocationType',
              a.gmtVariation AS 'GMTvariation',
              c.dstVariation AS 'DSTvariation',
              REPLACE(SUBSTRING(CONVERT(VARCHAR(8), c.dstStartTs, 8), 1, 5), ':', '')  AS 'DSTstart_time',
              CONVERT(VARCHAR(8), c.dstStartTs, 12) AS 'DSTstart_date',
              c.statusMarkerStart AS 'StatusMarker_start',
              REPLACE(SUBSTRING(CONVERT(VARCHAR(8), c.dstEndTs, 8), 1, 5), ':', '')  AS 'DSTend_time',
              CONVERT(VARCHAR(8), c.dstEndTs, 12) AS 'DSTend_date',
              c.statusMarkerEnd AS 'StatusMarker_end',
              c.dataIndicator AS 'DataIndicator',
              b.locationName AS 'LocationName',
              a.latitude AS 'Latitude',
              a.longtitude AS 'Longtitude'
          FROM [global].[dstLocations] a
             LEFT JOIN [global].[dstLocationNames] b ON (b.locationId = a.locationId AND b.locale = 'en_US')
                LEFT JOIN [global].[dstLocationInfo] c ON (c.locationId = a.locationId);
    GO;
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'DST location info shown in the legacy table structure as well as data format.',
     @level0type=N'SCHEMA', @level0name=N'global', @level1type=N'VIEW', @level1name=N'viewDstLocations';
    GO;
    CREATE VIEW [global].[viewTypes]
      WITH SCHEMABINDING
     AS
       SELECT a.levelTypeId, a.levelTypeName, a.levelDepth, b.productId, b.productName, c.baseLevelTypeId, c.baseLevelTypeName
          FROM [global].[levelTypes] a
             LEFT JOIN [global].[products] b ON (b.levelTypeId = a.levelTypeId)
                LEFT JOIN [global].[baseLevelTypes] c ON (c.levelTypeId = a.levelTypeId);
    GO;
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Displays level types and their associated products and base level types.' , @level0type=N'SCHEMA',@level0name=N'global', @level1type=N'VIEW',@level1name=N'viewTypes';
    GO;
    <<Several other views>>

    Kalman,
    I've followed that approach, but was getting an error. Hopefully this gives enough detail:
    First, I use a .bat file to generate the sql file as you suggest. The structure is as follows:
    USE [MYDB] 
    GO
    <<All my create scripts, without GO between them>>
    GO;
    <<All my view scripts, without GO between them>>
    GO;
    <<All my strored procedures, without GO between them>>
    GO;
    Then, I run the generated SQL with the -i option as you mentioned.
    I get back the resulting error below:
    Msg 156, Level 15, State 1, Server DEV-238SQLEXPRESS, Procedure viewDstLocations, Line 2
    Incorrect syntax near the keyword 'EXEC'.
    Msg 156, Level 15, State 1, Server DEV-238SQLEXPRESS, Procedure spGeneralDeleteNodeAndSubtree, Line 2
    Incorrect syntax near the keyword 'PROCEDURE'.
    Msg 137, Level 15, State 2, Server DEV-238SQLEXPRESS, Procedure spGeneralDeleteNodeAndSubtree, Line 2
    Must declare the scalar variable "@parentId".
    Msg 137, Level 15, State 2, Server DEV-238SQLEXPRESS, Procedure spGeneralDeleteNodeAndSubtree, Line 2
    Must declare the scalar variable "@levelTypeId".
    Msg 137, Level 15, State 1, Server DEV-238SQLEXPRESS, Procedure spGeneralDeleteNodeAndSubtree, Line 2
    Must declare the scalar variable "@name".
    Msg 137, Level 15, State 2, Server DEV-238SQLEXPRESS, Procedure spGeneralDeleteNodeAndSubtree, Line 2
    Must declare the scalar variable "@name".
    Msg 134, Level 15, State 1, Server DEV-238SQLEXPRESS, Procedure spGeneralDeleteNodeAndSubtree, Line 2
    The variable name errormsg has already been declared. Variable names must be unique within a query batch or stored procedure.
    From the documentation, I saw that CREATE VIEW needs to be the first statement in a batch. I assume this to mean I will need to break out my view and stored procedures to separate files and call the sqlcmd command multiple times, once for the table creation
    and then once for each view and once for each stored procedure. If there is a way to still do this as only one file, that would answer my original question.
    If there is anything else I can paste or send, please let me know.

  • Error creating view with CASE -- WHEN statement in SQL*Plus

    I am using Oracle 8i 8.1.7
    I have an Oracle view which uses CASE...WHEN statements.
    The view compiles fine in DBA studio.
    Using TOAD I saved the view as an *.sql file.
    However, when I try to create the view in SQL*Plus I get the following error:
    SP2-0734: unknown command beginning "CASE WHEN ..." - rest of line ignored.
    According to the documentation CASE -- WHEN has been implemented since since Oracle 8i rel. 2 (8.1.6)

    Well I'm using 8.1.6.3 and CASE and DECODE both work for me:
    SQL> create or replace view v_accs as select account_name, txn,
    2 decode(credit, 0, 'DB', 'CR') t_type
    3 from accs;
    View created.
    SQL> select * from v_accs;
    ACCOUNT_NA TXN T_
    APC 1 DB
    ABC 2 DB
    HJJ 3 DB
    HJH 4 CR
    HJK 5 CR
    APC 6 DB
    APC 7 DB
    ABC 8 DB
    ABC 9 DB
    HJJ 10 DB
    HJJ 11 DB
    HJH 12 DB
    HJH 13 DB
    HJK 14 DB
    HJK 15 CR
    15 rows selected.
    SQL> create or replace view v_accs as select account_name, txn,
    2 case when credit = 0 then 'DB' else 'CR'end as t_type
    3* from accs
    View created.
    SQL> select * from v_accs;
    ACCOUNT_NA TXN T_
    APC 1 DB
    ABC 2 DB
    HJJ 3 DB
    HJH 4 CR
    HJK 5 CR
    APC 6 DB
    APC 7 DB
    ABC 8 DB
    ABC 9 DB
    HJJ 10 DB
    HJJ 11 DB
    HJH 12 DB
    HJH 13 DB
    HJK 14 DB
    HJK 15 CR
    15 rows selected.
    SQL>
    rgds, APC

  • CREATE VIEW in ABAP (Open SQL or Native SQL)

    Hi all you experts!
    I want to create a VIEW in ABAP. I have created Table Views using ABAP Dictionary (in transaction SE11), I don't have any problem with them.
    But, what I need is to create a dynamic view, I mean, a view that can be created/replaced (or modified) at runtime. Is this possible with SAP Open SQL, I don't think so... that is why I tried to created using native SQL but it is not working.
    Here is the code:
      EXEC SQL.
        CREATE VIEW [ZMXRFIV_GLPCA]
          AS SELECT
             T1.GL_SIRID,
             T1.POPER,
             T1.RBUKRS,
             T1.RPRCTR,
             T1.RACCT,
             T1.HSL
          FROM
             GLPCA T1
          INNER JOIN
             SKA1 T2
          ON
             T1.RACCT = T2.SAKNR
          WHERE
            T1.RVERS      =  '000'
            AND T1.RYEAR  =  '2008'
            AND T1.KOKRS  =  'PI01'
            AND T2.KTOPL  =  'PI00'
            AND T2.XBILK  <> 'X'.
      ENDEXEC.
    I have tried using quotes (") for the view name, parenthesis and even using only the name but this make no difference.
    Do any of you experts have any idea?
    PS: After creating the view I need to do a SELECT INTO TABLE to that view and finally delete this view and continue working with the data on the internal table.

    Hi ,
    oh yes it is an object (well, how the database should handle it in any context if it wasn't)
    i.e. for ORACLE you would have several thousands of them:
    select count(*) from dba_objects where object_type ='VIEW'
    If you avoid some kind of foreground processing (i.e. pull the data over the network) and handle the processing inside the database it can improve somehow performance a little (i.e. using the retieved rows of the view to stuff into a database table directly). But his may not always possible...
    bye
    yk

  • Added Schemas can be viewed in SQL workshop but can't while creating Form

    Hi Friends
    We are using APEX 3.1 and Oracle 10.2.0 at back end.
    I can assign other schemas to a work space successfully.
    The Problem is that
    Added schemas can be viewed in SQL Workshop (SQL commands)
    But can not view the added schemas in the list when want to create a form based on table
    Regards
    Jazib

    Jazib,
    When you select an application the application's Owner attribute determines which tables/views you see in the wizard LOVs. If your application owner (parsing schema) is FOO and you want to create a form on table BAR.T then you have to grant select on BAR.T to FOO.
    Scott

  • Added can be viewed in SQL Workshop but can't when want to create form

    Hi Friends
    We are using APEX 3.1 and Oracle 10.2.0 at back end.
    I can assign other schemas to a work space successfully.
    The Problem is that
    Added schemas can be viewed in SQL Workshop (SQL commands)
    But can not view the added schemas in the list when want to create a form based on table
    Regards
    Jazib

    Closed: duplicate post.

  • With As subquery block in create view statement or In pl/sql block

    Hi All,
    Can I use the With as subquery block in create view statement??
    or in pl/sql
    -Thanks
    Edited by: xwo0owx on Mar 31, 2011 11:23 AM
    Edited by: xwo0owx on Mar 31, 2011 11:23 AM

    Hi, Mike,
    Dird wrote:
    Then why do I get an error? :s create view mike_test_view as    
    with carriers as(
    SELECT DISTINCT T0.CARRIER_SHORT_NAME carrier_name,
    T1.COMP_ID            carrier_id
    FROM CS2_CARRIER T0, USER_FUNCTION_QUALIFIER T2, CS2_COMP_SERV_PROV_PROF T1
    WHERE (((T1.SERV_PROV_ID = T2.QUALIFIER_VALUE) AND
    ((T2.FUNCTION_CODE = 'DOC_CCM') AND
    (T2.QUALIFIER_CODE = 'CARRIER_LIST'))) AND
    (T1.SERV_PROV_ID = T0.SERV_PROV_ID))
    ORDER BY T0.CARRIER_SHORT_NAME)
    select *
    from carriers c;ORA-00942: table or view does not exist -- carriers
    If I run every line but the create (just execute the query) it runs fine. It also works fine in a PL/SQL procedure.SQL*Plus abhors a vacuum.
    The default in SQL*Plus is that you can not have a completely blank line (that is, a line containing only white space) in the middle of a SQL statement. (Blank lines are okay in PL/SQL, including SQL statements embedded in PL/SQL.)
    If you want some space between the end of the WITH clause and the beginning of the main query (or anywhere else, for that matter), you can put comments there. For example:
          ORDER BY T0.CARRIER_SHORT_NAME)
         select *
           from carriers c;Now that line isn't just whitespace; it has the comment sign, and that's enough for SQL*Plus.
    You can allow completely blank lines with the SQL*Plus command:
    SET   SQLBLANKLINES  ON

  • Creating Views with DI APIs DoQuery-Method in SQL 2005

    Hi @All,
    I've had the following (solved) problem:
    The DB installer of one of our AddOns is also creating a bunsh of views for our UDTs. The installer always executes the following two statements for each view:
    IF OBJECT_ID ('[dbo].[@NSP_EXAMPLE_VIEW]', 'V' ) IS NOT NULL
        DROP VIEW  [dbo].[@NSP_EXAMPLE_VIEW];
    CREATE VIEW [dbo].[@NSP_EXAMPLE_VIEW] AS
    SELECT
         T0.U_Field3,
         T1.U_Field1,
    FROM
         [dbo].[@NSP_A] T0 INNER JOIN
         [dbo].[@NSP_B] T1 ON
         T0.U_Key=T1.U_Key  AND
         T0.U_CostNo=T1.U_CostNo;
    This has worked fine for the first 3 views we need. Then came the 4th view and we get an exception from the doQuery. I had to change the SQL-2005 compatibility level back to 80 to create the 4th view because of an incompatible "FOR BROWSE"-statement.
    When it was created under level 80 I saw the problem: ONLY the 4th view was extended with the "FOR BROWSE"-Statement by DI-API. I didn't see any difference in the 4th VIEW-statement which could be the reason that only this one gets the "FOR BROWSE"
    Anyway! Big thanks to  John Mackin and the users of this thread:
    [Formatted search;
    Adding an SQL-comment "--FOR BROWSE" at the end of the VIEW-creation statement has solved the problem.
    (I hope the DI-API query parser will not change this behaviour in the future :-o )
    Cheers,
    Roland

    Thanks for the replies, but casting gave me the original 'General Error' as well.
    I tried to make a stored procedure out of it. I used this page as a guide:
    http://www.davidhayden.com/blog/dave/archive/2005/12/30/2652.aspx
    The stored procedure looks like this:
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go
    CREATE PROCEDURE [dbo].[TestItems]
        @PageIndex INT,
        @PageSize INT
    AS
    BEGIN
    WITH tmpItems AS (
    SELECT ROW_NUMBER() OVER (ORDER BY ItemCode DESC)AS Row, ItemCode, ItemName
    FROM OITM)
    SELECT ItemCode, ItemName
    FROM tmpItems
    WHERE Row between (@PageIndex - 1) * @PageSize + 1 and @PageIndex*@PageSize
    END
    I am able to call this stored procedure like this:
    exec TestItems 10, 10  -- (returns item 91 to 100).
    This solution meets my immediate requirements, but I don't like the fact that I added the stored procedure to the administration itself. Is it possible to add the stored procedure to a different database and still use the DI server?
    Thanks for your time!
    Vincent

  • Creating Attribute views using SQL

    Hi experts,
    Can attribute views be created using an SQL command?
    As far as I know all the commands in the HANA modeler are translated eventually to SQL so I guess it should be possible.
    Thanks.

    Hi again,
    Our goal is to dynamically create an attribute view, We're not trying to create a homegrown view but trying to create the attribute view using SQL syntax (like when creating an Analytic Privilege - by providing the XML).
    Maybe I'll try to explain the cause for trying to do so and you could help me with the correct way to do it:
    We develop an application within Information Steward which is called HiVo, we would like to provide record authorization for each role. As we understood the way to do it is by using attribute views and analytic privileges. We have a process which creates our schema on the DB machine (actually it's part of the "deployment" of the application) and the administrator defines the authorization for each role on a UI which is provided on BOE. We would like to take these definitions and combine them with the schema creation which is done programmatically.
    We would like to do it using SQL commands in order to prevent dependency on the modeler SDK which was not used up till now and simplify the process for the administrator not having to use 2 different environments in order to complete the configuration process.
    I hope now things are clearer and maybe you could assist us doing it correctly.
    Again, thank you very much for your support,
    Ran

  • Creating view if you got SQL right?

    Hi,
    I've a table called branch with following columns:
    branch id, branch name, location, company
    Now I've to get following display: number of branchs location wise per company... in SQL I'd write following query:
    select count(branch_id), location from branch where company_id = 'oracle' group by location;
    Now I am trying similar thing in ADF view, I've two attributes in my view:
    location - i select mapped to column or sql - and write following in expression - select location from branch where company_id = 'oracle' group by location
    number of branches - i select mapped to column or sql - and write following in expression - select count(branch_id) from branch where company_id = 'oracle' group by location
    However it gives error. Can anyone help how to create view if I've got my SQL right?
    Thanks.

    Just make a Expert mode VO (New View Object _>"Red_only Access through SQL Query") and put the following SQL -
    select company_id,count(branch_id), location,branch_id from branch where company_id = 'oracle' group by location;And keep clicking next on the wizard ... your VO should get created with 4 fields ... CompanyId,Location,BranchId,CountBranchId (which you can rename if you want).
    Run it in the AM you should see correct results ... You dont need to put specific SQLs in the attributes like what you are doing.

  • Creating Views using XSU PL/SQL API.Urgent please.

    Folks,
    I need some help in creating a View.
    I am using XSU PL/SQL to generate an XML Document.
    I have a table (SDI) with 2 cols CMPY_NUM and CPTY_BORG_NUM.
    If the values in these 2 cols are equal then the xml
    value to be returned is 'OURS' else return 'THEIRS'.
    How do I Create this View please?
    The XSU PL/SQL I am using to generate the XML is:
    declare
    queryCtx DBMS_XMLquery.ctxType;
    xmlResult CLOB;
    begin
    queryCtx := DBMS_XMLQuery.newContext('select CMPY_NUM,CPTY_BORG_NUM from SDI');
    xmlResult := DBMS_XMLQuery.getXML(queryCtx);
    DBMS_XMLQuery.closeContext(queryCtx); -- you must close the query handle..
    end;
    Output
    <?xml version='1.0'?>
    <ROWSET>
         <ROW num="1">
         <CMPY_NUM>1</CMPY_NUM>
    <CPTY_BORG_NUM>2/CPTY_BORG_NUM>
         </ROW>
    <!-- additional rows ... -->
    </ROWSET>
    Please can any one tell me how to create a view that will be used in place
    of the select statement,and returns back OURS or THEIRS
    Create View XML AS

    This is a duplicate of this posting Creating a View to check for 2 conditions.. This is a particularly heinous case because some of our finest minds have already responded in that thread.
    Lose ten culture points.
    Regards, APC

  • Create view and alter Session gets 0RA-01031

    I can't create a view after using ALTER SESSION set current_schema without using an explicit schema. I get ORA-01031. Is this a known bug? Here are the details:
    1. Log on as SYSTEM
    2. ALTER SESSION set current_schema=FRED;
    3. CREATE VIEW vFoo as select * from Foo;     -- ORA-01031: insufficient privileges
    4. CREATE VIEW FRED.vFoo as select * from Foo;     -- this works!
    I've read where some privileges need to be granted directly. In fact, if Fred grants select privilege on Foo to SYSTEM, the statement in #3 above works. However, something doesn't seem right because why does #4 succeed without the GRANT?
    In case you're wondering why I don't just use #4 above, which does work, it's because I've got a script that will be run by customers to create tables, views, etc. in an arbitrary schema and the schema is associated with a user with limited permissions. Hence, the use of the ALTER SESSION.

    See, You looged as SYSTEM (Scheme = SYSTEM)
    Now you alter your session to another schema FRED.
    Now if you want to access SCHEMA of FRED, You need to connect first.
    SQL > connect user/password@host
    Then
    SQL > CREATE VIEW vFoo as select * from Foo;
    View created.

Maybe you are looking for

  • "resolving alias to" message using aliases on 10.6.8 plus slow text-selection behavior

    Recently after no particular change to my Mac Pro3,2 running 10.6.8 other than some routine software updates, whenever I open an alias on my desktop to standard folders or files, a message shows up "Resolving alias to" whatever the alias name and the

  • How Do I Transfer A File to an NTFS External?

    I finished with one of my movies and the final product is a little over 2GB's. It is stored an my external MAC journaled G-Drive. I am trying to load it to an NTFS drive for somebody else to view it and use it on a Windows PC. Mac can READ but not WR

  • How to restore complete partition?

    How can I restore a complete partition backuped via time machine? When starting time machine I just see files and directories to recover, but what to do if I had to reformat a partition as it was broken and could not be repaired?

  • If Dimension exceeds maximum size then what will we do???

    Hi Experts,                If Dimension exceeds maximum size then what will we do???                My dought was how to increase the dimension size in SSAS 2008 R2???        i am using SQL SERVER 2008 R2.                i had faced this question in

  • Install Software update install Office updates?

    Hi ,  Does 'Install software update' task in configuration manager installs office patches or just OS pacthes? I have Office patches (around 100 ) software update group is advertised\deployed to my build and capture machine. Once machine is build, i