美文网首页
第八章 其他参考资料(一)

第八章 其他参考资料(一)

作者: Cache技术分享 | 来源:发表于2022-06-14 09:32 被阅读0次

    第八章 其他参考资料(一)

    默认用户名和密码(SQL)

    IRIS® 数据平台提供了用于登录数据库和开始使用的默认用户名和密码。默认用户名为“_SYSTEM”(大写),密码为“sys”。

    SQLCODE错误代码(SQL)

    执行大多数 SQL操作都会发出SQLCODE值。发出的SQLCODE值为0100和负整数值。

    • SQLCODE=0表示SQL操作成功完成。对于SELECT语句,这通常意味着从表中成功检索数据。但是,如果SELECT执行聚合操作(例如:SELECT SUM(Myfield)),则聚合操作成功,即使myfield中没有数据,也会发出SQLCODE=0;在这种情况下,SUM返回NULL%ROWCOUNT=1
    • SQLCODE=100表示SQL操作成功,但没有找到可操作的数据。发生这种情况的原因有很多。对于SELECT,这些包括:指定表不包含数据;表不包含满足查询条件的数据;或者行检索已到达表的最后一行。对于UPDATEDELETE,它们包括:指定的表不包含数据;或者表不包含满足WHERE子句条件的数据行。在这些情况下,%ROWCOUNT=0
    • SQLCODE=-n表示错误。负整数值指定发生的错误类型。SQLCODE=-400是通用的致命错误代码。

    字段约束(SQL)

    字段约束指定管理字段允许的数据值的规则。一个字段可能有以下约束:

    • NOT NULL非空:必须在每条记录中为该字段指定值(可接受空字符串)。
    • UNIQUE唯一:如果在记录中为该字段指定值,则该值必须是唯一值(可接受的空字符串)。但是,可以为该字段创建多个没有值(NULL)的记录。
    • DEFAULT默认值:必须指定一个值,否则 IRIS会为每个记录中的此字段提供一个默认值(接受空字符串)。默认值可以是NULL、空字符串或适用于该数据类型的任何其他值。
    • UNIQUE NOT NULL:必须在每条记录中为该字段指定唯一的值(可接受一个空字符串)。可用作主键。
    • DEFAULT NOT NULL:必须指定一个值,否 IRIS会为每个记录中的此字段提供一个默认值(可接受的空字符串)。
    • UNIQUE DEFAULT唯一默认值:不推荐-必须指定唯一值,否则 IRIS会为每个记录中的此字段提供一个默认值(一个可接受的空字符串)。缺省值可以是NULL、空字符串或适用于该数据类型的任何其他值。仅当缺省值是唯一生成的值(例如,CURRENT_TIMESTAMP)时使用,或者如果缺省值仅使用一次。
    • UNIQUE DEFAULT NOT NULL:不建议-必须指定唯一的值,否则 IRIS会为每个记录中的此字段提供一个默认值(一个可接受的空字符串)。缺省值可以是空字符串或适用于该数据类型的任何其他值;它不能为空。仅当缺省值是唯一生成的值(例如,CURRENT_TIMESTAMP)时使用,或者如果缺省值仅使用一次。可用作主键。
    • IDENTITY: IRIS为每个记录中的该字段提供唯一的、系统生成的、不可修改的整数值。忽略其他字段约束关键字。可用作主键。

    数据值必须适合该字段的数据类型。空字符串不是数值字段的可接受值。

    保留字(SQL)

    SQL保留字列表。

    %AFTERHAVING | %ALLINDEX | %ALPHAUP | %ALTER | %BEGTRANS | 
    %CHECKPRIV | %CLASSNAME | %CLASSPARAMETER | %DBUGFULL | %DELDATA | 
    %DESCRIPTION | %EXACT | %EXTERNAL | %FILE | %FIRSTTABLE | %FLATTEN | 
    %FOREACH | %FULL | %ID | %IDADDED | %IGNOREINDEX | %IGNOREINDICES | 
    %INLIST | %INORDER | %INTERNAL | %INTEXT | %INTRANS | %INTRANSACTION | 
    %KEY | %MATCHES | %MCODE | %MERGE | %MINUS | %MVR | %NOCHECK | 
    %NODELDATA | %NOFLATTEN | %NOFPLAN | %NOINDEX | %NOLOCK | 
    %NOMERGE | %NOPARALLEL | %NOREDUCE | %NORUNTIME | %NOSVSO | %NOTOPOPT | 
    %NOTRIGGER | %NOUNIONOROPT | %NUMROWS | %ODBCIN | %ODBCOUT | 
    %PARALLEL | %PLUS | %PROFILE | %PROFILE_ALL | %PUBLICROWID | %ROUTINE | 
    %ROWCOUNT | %RUNTIMEIN | %RUNTIMEOUT | %STARTSWITH | 
    %STARTTABLE | %SQLSTRING | %SQLUPPER | %STRING | %TABLENAME | 
    %TRUNCATE | %UPPER | %VALUE | %VID
    ABSOLUTE | ADD | ALL | ALLOCATE | ALTER | AND | ANY | ARE | AS | 
    ASC | ASSERTION | AT | AUTHORIZATION | AVG | BEGIN | BETWEEN | 
    BIT | BIT_LENGTH | BOTH | BY | CASCADE | CASE | CAST |
    CHAR | CHARACTER | CHARACTER_LENGTH | CHAR_LENGTH | 
    CHECK | CLOSE | COALESCE | COLLATE | COMMIT | CONNECT | 
    CONNECTION | CONSTRAINT | CONSTRAINTS | CONTINUE | CONVERT | 
    CORRESPONDING | COUNT | CREATE | CROSS | CURRENT | 
    CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP | 
    CURRENT_USER | CURSOR | DATE | DEALLOCATE | DEC | DECIMAL | 
    DECLARE | DEFAULT | DEFERRABLE | DEFERRED | DELETE | DESC | 
    DESCRIBE | DESCRIPTOR | DIAGNOSTICS | DISCONNECT | DISTINCT | 
    DOMAIN | DOUBLE | DROP | ELSE | END | ENDEXEC | ESCAPE | EXCEPT | 
    EXCEPTION | EXEC | EXECUTE | EXISTS | EXTERNAL | EXTRACT | 
    FALSE | FETCH | FIRST | FLOAT | FOR | FOREIGN | FOUND | FROM | FULL | 
    GET | GLOBAL | GO | GOTO | GRANT | GROUP | HAVING | HOUR | 
    IDENTITY | IMMEDIATE | IN | INDICATOR | INITIALLY | 
    INNER | INPUT | INSENSITIVE | INSERT | INT | INTEGER | INTERSECT | 
    INTERVAL | INTO | IS | ISOLATION | JOIN | LANGUAGE | LAST | 
    LEADING | LEFT | LEVEL | LIKE | LOCAL | LOWER | MATCH | MAX | MIN | 
    MINUTE | MODULE | NAMES | NATIONAL | NATURAL | NCHAR | 
    NEXT | NO | NOT | NULL | NULLIF | NUMERIC | OCTET_LENGTH | OF | ON | 
    ONLY | OPEN | OPTION | OR | OUTER | OUTPUT | OVERLAPS | 
    PAD | PARTIAL | PREPARE | PRESERVE | PRIMARY | PRIOR | PRIVILEGES | 
    PROCEDURE | PUBLIC | READ | REAL | REFERENCES | RELATIVE | 
    RESTRICT | REVOKE | RIGHT | ROLE | ROLLBACK | ROWS | 
    SCHEMA | SCROLL | SECOND | SECTION | SELECT | SESSION_USER | 
    SET | SHARD | SMALLINT | SOME | SPACE | SQLERROR | SQLSTATE | 
    STATISTICS | SUBSTRING | SUM | SYSDATE | SYSTEM_USER | TABLE | 
    TEMPORARY | THEN | TIME | TIMEZONE_HOUR | TIMEZONE_MINUTE | 
    TO | TOP | TRAILING | TRANSACTION | TRIM | TRUE | UNION | UNIQUE | 
    UPDATE | UPPER | USER | USING | VALUES | VARCHAR | VARYING | WHEN | 
    WHENEVER | WHERE | WITH | WORK | WRITE 
    

    描述

    在SQL中,某些字是保留的。不能将SQL保留字用作SQL标识符(如表、列、AS别名或其他实体的名称),除非:

    • 该单词用双引号("word")分隔,并且支持分隔的标识符。

    该列表仅包含在此意义上保留的那些单词;它不包含所有SQL关键字。上面列出的几个单词以"%"字符开头,表示它们是 SQL专有扩展关键字。通常,不建议使用以"%"开头的单词作为表名和列名等标识符,因为将来可能会添加新的 SQL扩展关键字。

    可以通过调用IsReserve vedWord()方法来检查某个字是否为SQL保留字,如下例所示。将保留字指定为引号字符串;保留字不区分大小写。$SYSTEM.SQL.IsReserve vedWord()返回布尔值。

    /// d ##class(PHA.TEST.SQLFunction).ReservedWord()
    ClassMethod ReservedWord()
    {
        w !,"Reserved?: ",$SYSTEM.SQL.IsReservedWord("VARCHAR")
        w !,"Reserved?: ",$SYSTEM.SQL.IsReservedWord("varchar")
        w !,"Reserved?: ",$SYSTEM.SQL.IsReservedWord("VarChar")
        w !,"Reserved?: ",$SYSTEM.SQL.IsReservedWord("FRED")
    }
    
    DHC-APP> d ##class(PHA.TEST.SQLFunction).ReservedWord()
     
    Reserved?: 1
    Reserved?: 1
    Reserved?: 1
    Reserved?: 0
    

    此方法也可以作为存储过程从ODBC或JDBC调用:%SYSTEM.SQL_IsReservedWord("nnnn")

    相关文章

      网友评论

          本文标题:第八章 其他参考资料(一)

          本文链接:https://www.haomeiwen.com/subject/sctzmrtx.html