精华内容
下载资源
问答
  • django create view

    千次阅读 2017-02-28 16:39:01
    CreateView继承之一BaseCreateViewBaseCreateView中有两个函数 get()、post() BaseCreateView继承之一ModelFormMixinModelFormMixin继承之一FormMixin FormMixin中有函数get_success_url() form_valid() form_...

    基本框架:

    1. CreateView继承之一BaseCreateView
    2. BaseCreateView中有两个函数 get()、post()
    3. BaseCreateView继承之一ModelFormMixin
    4. ModelFormMixin继承之一FormMixin
    5. FormMixin中有函数get_success_url() form_valid() form_invalid()等
    6. FormMixn继承之一ContextMixin
    7. ContextMixin中有函数 get_context_data()

    需求:

    1. 前端提交一个form表单
    2. 后端接受一个这个表单,继承CreateView,把提交过来的字段,存入相应的数据库
    流程:
    class Aa(Createview):
    # 渲染模板
    template_name = 'dictionary/some.html'
    # 要存入的model
    model = Amodel
    # 数据库相应的字段 
    fields = ['name']

    def get_context_data(self, **kwargs):
    	第一次进入页面可以返回给前端一些想要展示的信息
    def post(self, request, *args, **kwargs):
    	提交表单后进入这个函数,可以做一些转换,把传过来的字段,转化成相应的数据库字段,字段名称和field一致,执行完这个函数后,会进行字段验证
    def form_valid(self, form):
    字段验证成功后会执行这个函数,执行完成后会把字段存入数据库
    def form_invalid(self, form):
    字段验证失败后会执行这个函数
    def get_success_url(self):
    执行form_valid()后会执行这个函数 可以return reverse 一个url 进入表单提交成功的页面
    
    

    展开全文
  • db2 "create view" 缺乏权限

    千次阅读 2017-03-09 21:46:55
    db2 "create view" 缺乏权限 问题:  根据信息中心的说明,create view需要以下权限: The privileges held by the authorization ID of the statement must include at least one of the following ...
    db2 "create view" 缺乏权限

    问题:

     根据信息中心的说明,create view需要以下权限:
    The privileges held by the authorization ID of the statement must include at least one of the following authorities:

    IMPLICIT_SCHEMA authority on the database, if the implicit or explicit schema name of the view does not exist

    CREATEIN privilege on the schema, if the schema name of the view refers to an existing schema

    DBADM authority

    and at least one of the following authorities for each table, view, or nickname identified in any fullselect:

    CONTROL privilege on that table, view, or nickname

    SELECT privilege on that table, view, or nickname

    DATAACCESS authority 

    但某用户db2user1所在的组db2group1拥有DBADM和DATAACCESS的权限的情况下,创建视图的时候却报错,说没有权限。


    问题原因:

    Create View是一个比较特殊的操作,创建的时候,用户所属组的权限会被忽略,说明如下:

    A privilege that is granted to a group is not used for authorization checking on:

    Static DML statements in a package

    A base table while processing a CREATE VIEW statement

    A base table while processing a CREATE TABLE statement for a materialized query table

    Create SQL routine

    Create trigger


    解决方法:

    可以单独给用户赋予相应的权限,或者给PUBLIC组赋予相应的权限(注意,有些权限是无法赋予PUBLIC组的,比如ACCESSCTRL, CREATE_SECURE_OBJECT, DATAACCESS, DBADM, or SECADM)

    参考资料:

    https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000935.html
    https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000958.html
    展开全文
  • SQL CREATE VIEW 视图语句

    2019-07-15 10:56:01
    SQL CREATE VIEW 语句 什么是视图? 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。 视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加...

    SQL CREATE VIEW 语句

    什么是视图?

    在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。

    视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

    注释:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。

    SQL CREATE VIEW 语法

    CREATE VIEW view_name AS
    SELECT column_name(s)
    FROM table_name
    WHERE condition
    

    注释:视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据。

    SQL CREATE VIEW 实例

    可以从某个查询内部、某个存储过程内部,或者从另一个视图内部来使用视图。通过向视图添加函数、join 等等,我们可以向用户精确地提交我们希望提交的数据。

    样本数据库 Northwind 拥有一些被默认安装的视图。视图 "Current Product List" 会从 Products 表列出所有正在使用的产品。这个视图使用下列 SQL 创建:

    CREATE VIEW [Current Product List] AS
    SELECT ProductID,ProductName
    FROM Products
    WHERE Discontinued=No

    我们可以查询上面这个视图:

     

    SELECT * FROM [Current Product List]

    Northwind 样本数据库的另一个视图会选取 Products 表中所有单位价格高于平均单位价格的产品:

    CREATE VIEW [Products Above Average Price] AS
    SELECT ProductName,UnitPrice
    FROM Products
    WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products) 
    

    我们可以像这样查询上面这个视图:

    SELECT * FROM [Products Above Average Price]

    另一个来自 Northwind 数据库的视图实例会计算在 1997 年每个种类的销售总数。请注意,这个视图会从另一个名为 "Product Sales for 1997" 的视图那里选取数据:

    CREATE VIEW [Category Sales For 1997] AS
    SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
    FROM [Product Sales for 1997]
    GROUP BY CategoryName 
    

    我们可以像这样查询上面这个视图:

    SELECT * FROM [Category Sales For 1997]

    我们也可以向查询添加条件。现在,我们仅仅需要查看 "Beverages" 类的全部销量:

    SELECT * FROM [Category Sales For 1997]
    WHERE CategoryName='Beverages'
    

    SQL 更新视图

    您可以使用下面的语法来更新视图:

    SQL CREATE OR REPLACE VIEW Syntax
    CREATE OR REPLACE VIEW view_name AS
    SELECT column_name(s)
    FROM table_name
    WHERE condition
    

    现在,我们希望向 "Current Product List" 视图添加 "Category" 列。我们将通过下列 SQL 更新视图:

    CREATE VIEW [Current Product List] AS
    SELECT ProductID,ProductName,Category
    FROM Products
    WHERE Discontinued=No
    

    SQL 撤销视图

    您可以通过 DROP VIEW 命令来删除视图。

    SQL DROP VIEW Syntax
    DROP VIEW view_name

    转载于:https://www.cnblogs.com/troywithblog/archive/2013/05/24/3096534.html

    展开全文
  • 2、创建视图(CREATE VIEW

    千次阅读 2020-10-12 10:28:59
    可以使用 CREATE VIEW 语句来创建视图。 语法格式如下: CREATE VIEW <视图名> AS <SELECT语句> 语法说明如下。 <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图...

    创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。

    基本语法

    可以使用 CREATE VIEW 语句来创建视图。

    语法格式如下:

    CREATE VIEW <视图名> AS <SELECT语句>
    

    语法说明如下。

    • <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。
    • <SELECT语句>:指定创建视图的 SELECT 语句,可用于查询多个基础表或源视图。

    对于创建视图中的 SELECT 语句的指定存在以下限制:

    • 用户除了拥有 CREATE VIEW 权限外,还具有操作中涉及的基础表和其他视图的相关权限。
    • SELECT 语句不能引用系统或用户变量。
    • SELECT 语句不能包含 FROM 子句中的子查询。
    • SELECT 语句不能引用预处理语句参数。

    视图定义中引用的表或视图必须存在。但是,创建完视图后,可以删除定义引用的表或视图。可使用 CHECK TABLE 语句检查视图定义是否存在这类问题。

    视图定义中允许使用 ORDER BY 语句,但是若从特定视图进行选择,而该视图使用了自己的 ORDER BY 语句,则视图定义中的 ORDER BY 将被忽略。

    视图定义中不能引用 TEMPORARY 表(临时表),不能创建 TEMPORARY 视图。

    WITH CHECK OPTION 的意思是,修改视图时,检查插入的数据是否符合 WHERE 设置的条件。

    创建基于单表的视图

    MySQL 可以在单个数据表上创建视图。

    查看 test_db 数据库中的 tb_students_info 表的数据,如下所示。

    mysql> SELECT * FROM tb_students_info;
    +----+--------+---------+------+------+--------+------------+
    | id | name   | dept_id | age  | sex  | height | login_date |
    +----+--------+---------+------+------+--------+------------+
    |  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
    |  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
    |  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
    |  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
    |  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
    |  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
    |  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
    |  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
    |  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
    | 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
    +----+--------+---------+------+------+--------+------------+
    

    【实例 1】在 tb_students_info 表上创建一个名为 view_students_info 的视图,输入的 SQL 语句和执行结果如下所示。

    mysql> CREATE VIEW view_students_info
        -> AS SELECT * FROM tb_students_info;
    
    mysql> SELECT * FROM view_students_info;
    +----+--------+---------+------+------+--------+------------+
    | id | name   | dept_id | age  | sex  | height | login_date |
    +----+--------+---------+------+------+--------+------------+
    |  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
    |  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
    |  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
    |  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
    |  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
    |  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
    |  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
    |  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
    |  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
    | 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
    +----+--------+---------+------+------+--------+------------+
    

    默认情况下,创建的视图和基本表的字段是一样的,也可以通过指定视图字段的名称来创建视图。

    【实例 2】在 tb_students_info 表上创建一个名为 v_students_info 的视图,输入的 SQL 语句和执行结果如下所示。

    mysql> CREATE VIEW v_students_info
        -> (s_id,s_name,d_id,s_age,s_sex,s_height,s_date)
        -> AS SELECT id,name,dept_id,age,sex,height,login_date
        -> FROM tb_students_info;
    
    mysql> SELECT * FROM v_students_info;
    +------+--------+------+-------+-------+----------+------------+
    | s_id | s_name | d_id | s_age | s_sex | s_height | s_date     |
    +------+--------+------+-------+-------+----------+------------+
    |    1 | Dany   |    1 |    24 | F     |      160 | 2015-09-10 |
    |    2 | Green  |    3 |    23 | F     |      158 | 2016-10-22 |
    |    3 | Henry  |    2 |    23 | M     |      185 | 2015-05-31 |
    |    4 | Jane   |    1 |    22 | F     |      162 | 2016-12-20 |
    |    5 | Jim    |    1 |    24 | M     |      175 | 2016-01-15 |
    |    6 | John   |    2 |    21 | M     |      172 | 2015-11-11 |
    |    7 | Lily   |    6 |    22 | F     |      165 | 2016-02-26 |
    |    8 | Susan  |    4 |    23 | F     |      170 | 2015-10-01 |
    |    9 | Thomas |    3 |    22 | M     |      178 | 2016-06-07 |
    |   10 | Tom    |    4 |    23 | M     |      165 | 2016-08-05 |
    +------+--------+------+-------+-------+----------+------------+
    

    可以看到,view_students_info 和 v_students_info 两个视图中的字段名称不同,但是数据却相同。因此,在使用视图时,可能用户不需要了解基本表的结构,更接触不到实际表中的数据,从而保证了数据库的安全。

    创建基于多表的视图

    MySQL 中也可以在两个以上的表中创建视图,使用 CREATE VIEW 语句创建。

    【实例 3】在表 product 和表product_price 上创建视图product_view_info,输入的 SQL 语句和执行结果如下所示。

    CREATE VIEW product_view_info (商品ID,商品名,进货价,出售价)
    AS SELECT product.productid,product.productname,product.price,product_price.price
    FROM product,product_price WHERE product.productid=product_price.productid;
    
    mysql> SELECT * FROM product_view_info;
    
    

    在这里插入图片描述

    通过这个视图可以很好地保护基本表中的数据。商品ID 字段对应 product表中的 productid 字段,商品名 字段对应 product表中的 productname字段,进货价字段对应 product 表中的 price字段,出售价字段对应product_price表中的price字段。

    查询视图

    视图一经定义之后,就可以如同查询数据表一样,使用 SELECT 语句查询视图中的数据,语法和查询基础表的数据一样。

    视图用于查询主要应用在以下几个方面:

    • 使用视图重新格式化检索出的数据。
    • 使用视图简化复杂的表连接。
    • 使用视图过滤数据。

    DESCRIBE 可以用来查看视图,语法如下:

    DESCRIBE 视图名;
    

    【实例 4】通过 DESCRIBE 语句查看视图 v_students_info 的定义,输入的 SQL 语句和执行结果如下所示。

    mysql> DESCRIBE v_students_info;
    +----------+---------------+------+-----+------------+-------+
    | Field    | Type          | Null | Key | Default    | Extra |
    +----------+---------------+------+-----+------------+-------+
    | s_id     | int(11)       | NO   |     | 0          |       |
    | s_name   | varchar(45)   | YES  |     | NULL       |       |
    | d_id     | int(11)       | YES  |     | NULL       |       |
    | s_age    | int(11)       | YES  |     | NULL       |       |
    | s_sex    | enum('M','F') | YES  |     | NULL       |       |
    | s_height | int(11)       | YES  |     | NULL       |       |
    | s_date   | date          | YES  |     | 2016-10-22 |       |
    +----------+---------------+------+-----+------------+-------+
    

    注意:DESCRIBE 一般情况下可以简写成 DESC,输入这个命令的执行结果和输入 DESCRIBE 是一样的。

    展开全文
  • MySQL权限篇之CREATE VIEW

    千次阅读 2016-03-25 11:52:13
    CREATE VIEW,创建视图。 该权限,仅仅能够创建视图,能够alter view,也不能drop view。 创建视图的时候,用户必须在基表上有select权限,否则创建失败。 mysql> grant create view on test.* to 'ut01'@'%'; ...
  • 问题:SQL Server 数据库提示“错误的语法:CREATE VIEW必须是批处理中仅有的语句” 分析: 批处理必须以 CREATE 语句开始。即一个查询分析器里面只有一个批处理语句才是规范的语法。 CREATE DEFAULT、CREATE ...
  • 创建视图表create view 表名

    千次阅读 2016-09-05 11:20:58
    create view pgenius_2..BND_BOOK_VAL_CHNG  as select SEQ,CTIME,MTIME,ISVALID,GENIUS_UID,INNER_CODE,CHNG_TIME,PRE_BOOK_VAL_CHNG,AFR_BOOK_VAL_CHNG,CHNG_REASON  from  pgenius..BND_BOOK_VAL_CHNG
  • 视图 定义 一种虚拟存在的表,行和列的数据来自于视图中的查询所用的表,并且是使用视图的时候动态生成的,只保存sql逻辑,不保存结果 视图:是虚拟的表,和...create view 视图名 as sql查询语句 示例: 视图格式:
  • This is the third article in a series of learning the CREATE VIEW SQL statement. So far, I’d say that we’re comfortable and familiar with the syntax, and we’ve learned how to create and modify vie....
  • SQLite语法 CREATE VIEW

    千次阅读 2008-03-04 00:19:00
    SQLite的SQL语法[目录]CREATE VIEW sql-command ::= CREATE [TEMP | TEMPORARY] VIEW [database-name.] view-name AS select-statement CREATE VI
  • 使用CREATE VIEW创建视图

    千次阅读 2012-05-26 20:02:35
    13.1 使用CREATE VIEW创建视图(2) 代码13-2 创建视图列出那些居住在有出版社的城市的作者。注意视图使用了列名au_city和pub_city。重命名这些列避免了两列从基础表继承相同的列名city CREATE VIEW cities ...
  • problem: create view command denied to user 'root'@'1021-zl' for....... solution: grant all on dbname.* to 'root'@'1021-zl' identified by 'password' with grant option;
  • 视图最常见的应用之一就是隐藏复杂的SQL,这通常都会设计到联结。 创建视图基本语法: ...CREATE VIEW 视图名 AS 子查询... 利用视图简化复杂的联结: 例: CREATE VIEW ProductCustomers AS SELECT cust_
  • OCP-1Z0-051 补充题库 第45题 CREATE VIEW

    千次阅读 2015-04-03 22:51:02
    一、原题 You work as a database administrator at ABC.com. You study the exhibit carefully. Exhibit: ...You want to create a SALE_PROD view by executing the following SQL statements: ... CREATE VIEW
  • django之CreateView

    千次阅读 2020-02-20 20:22:25
    diango提供了一个CreateView,使用这个可以很方便的做form的添加   方式1: class AdvPositionCreateView(CreateView): model = AdvPosition # 指定模型 template_name = 'adv-position/create.html' ...
  • SQL CREATE VIEW的用法

    千次阅读 2009-12-27 22:46:00
    视观表 (Views) 可以被当作是虚拟... 建立一个视观表的语法如下: CREATE VIEW "VIEW_NAME" AS "SQL 语句""SQL 语句" 可以是任何一个我们在这个教材中有提到的 SQL。来看一个例子。假设我们有以下的表格: TABLE Cus
  • CreateStatic CreateView

    千次阅读 2011-11-13 15:04:48
    CSplitterWnd::CreateStatic This method creates a static splitter window. BOOL CreateStatic( CWnd* pParentWnd, int nRows, int nCols, DWORD dwStyle = WS_CHILD | WS_VISIBLE, UINT nID = AFX_IDW_PAN
  • create viewcreate or replace view的区别

    万次阅读 2016-11-22 18:31:33
    create or replace view的意思就是若数据库中已经存在这个名字的视图的话,就替代它,若没有则创建视图; create则不进行判断,若数据库中已经存在的话,则报错,说对象已存在;
  • create view VW_PUB_SYS_DICT_CACHE as ( SELECT rownum, 0, a."'CACHESYSDICT'", a."COMBOBOX_CODE", a."OPTION_VALUE", a."OPTION_NAME" FROM ( SELECT 'cacheSysDict', COMBOBOX_CODE, ...
  • 以前一直以为create view权限会随着授予connect和resource角色(本人一般创建新用户时就给这两个角色)而授予,一直以为create view权限就是resource角色的一部分。但是今天实验exp/imp时却发现大错特错。。。 ...
  • 在创建数据库视图时遇到这种一种语法错误“create view必须是批处理中仅有的语句”,解决方案如下:  因为create view 必须是批处理中的第一条语句。也就是说,你可能在这段代码之前还有其他的语句是同时处理的...
  • mysql create view创建视

    千次阅读 2019-01-12 16:08:17
    create view purchase_detail as select product. name as name, product .price as price, purchase.qty as qty, product .price * purchase.qty as total_value from product, purchase where product.product_...
  • 通过查找网上资料可知,CREATE VIEW语句有一个条件,即该语句必须是第一个被执行的,而在该图中有一个use xsgl,所以系统提示错误。解决方法是:在CREATE VIEW语句的上方和下方加一个GO指令即可。  ...
  • mysql&gt; show create view bg_view_invest_list\G;*************************** 1. row *************************** View: bg_view_invest_list Create View: CREATE ALGORITHM=UNDEFINED...
  • mysql视图之创建视图(CREATE VIEW)和使用限制

    万次阅读 多人点赞 2018-07-12 15:26:10
    CREATE VIEW 语句创建视图,先来看下语法结构: CREATE [ ALGORITHM = { MERGE | TEMPTABLE | UNDEFINED } ] VIEW [ database_name ] . [ view_name ] AS [ SELECT statement ] 然后我们...
  • oracle create view语法

    万次阅读 2011-04-08 21:21:00
    视图实际上是一个或多个表上的预定义查询,这些表称为基表。 视图并不存储数据,只是在查询视图时才访问基表。 视图的优点: ·限制用户只能通过视图检索数据,对用户...create [or replace] [{force|noforce}] view
  • grant create view to scott

    千次阅读 2015-05-10 20:28:02
  • 【实例 1 创建基于单表的视图】在 tb_students_info 表上创建一个名为 view_students_info 的视图,输入的 SQL 语句和执行结果如下所示。 mysql > CREATE VIEW view_students_info - > AS SELECT * ...
  • MySql_CREATE VIEW语法

    千次阅读 2011-04-29 23:32:00
    CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] 该语句能创建新的视图,如果给定了OR ...
  • 具体语法如下: Create view newtable AS select * from table1union all( ALL代表重复,去掉ALL即不重复)select * from table2...........conditions当table1或table2出现任何变动时,newtable视图将关联影响.....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 602,982
精华内容 241,192
关键字:

createview