Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server e您想要的结果格式。我们的评论重叠,我之前的评论是针对您的问题,而不是您的评论。另一个想法是a启动事务,b为所有其他非默认值非空列插入具有虚拟ID和虚拟值的新行,c读取该行,d还原事务。这很肮脏,但它应该满足你的需要。这能回答你的问题吗?否,我不想选择一列_Sql Server_Tsql_Sql Server 2014_Default Value - Fatal编程技术网

Sql server e您想要的结果格式。我们的评论重叠,我之前的评论是针对您的问题,而不是您的评论。另一个想法是a启动事务,b为所有其他非默认值非空列插入具有虚拟ID和虚拟值的新行,c读取该行,d还原事务。这很肮脏,但它应该满足你的需要。这能回答你的问题吗?否,我不想选择一列

Sql server e您想要的结果格式。我们的评论重叠,我之前的评论是针对您的问题,而不是您的评论。另一个想法是a启动事务,b为所有其他非默认值非空列插入具有虚拟ID和虚拟值的新行,c读取该行,d还原事务。这很肮脏,但它应该满足你的需要。这能回答你的问题吗?否,我不想选择一列,sql-server,tsql,sql-server-2014,default-value,Sql Server,Tsql,Sql Server 2014,Default Value,e您想要的结果格式。我们的评论重叠,我之前的评论是针对您的问题,而不是您的评论。另一个想法是a启动事务,b为所有其他非默认值非空列插入具有虚拟ID和虚拟值的新行,c读取该行,d还原事务。这很肮脏,但它应该满足你的需要。这能回答你的问题吗?否,我不想选择一列的默认值。我想选择所有默认值,以该表的记录格式。不幸的是,它不是那么简单。您可以查询一些系统视图;我已经把你的问题和一个重复的问题联系起来了,它展示了如何做到这一点。另外一个警告是,高级权限视图定义是必需的,没有内置的。您必须手动获取每个列的默



e您想要的结果格式。我们的评论重叠,我之前的评论是针对您的问题,而不是您的评论。另一个想法是a启动事务,b为所有其他非默认值非空列插入具有虚拟ID和虚拟值的新行,c读取该行,d还原事务。这很肮脏,但它应该满足你的需要。这能回答你的问题吗?否,我不想选择一列的默认值。我想选择所有默认值,以该表的记录格式。不幸的是,它不是那么简单。您可以查询一些系统视图;我已经把你的问题和一个重复的问题联系起来了,它展示了如何做到这一点。另外一个警告是,高级权限视图定义是必需的,没有内置的。您必须手动获取每个列的默认值,并使用一些SQL将其转换为所需的结果格式。我们的评论重叠,我之前的评论是针对您的问题,而不是您的评论。另一个想法是a启动事务,b为所有其他非默认值非空列插入具有虚拟ID和虚拟值的新行,c读取该行,d还原事务。这是肮脏的,但它应该做你需要的。不确定什么是最坏的-你的工作区还是我的。。。两个人都很难看,但他们都能完成任务:-如果我是个诚实的人,我两个都不喜欢,@ZoharPeled。一旦像身份和新闻序列这样的东西也加入进来,它就会变得非常混乱。老实说,我怀疑OP这里有一个XY问题。一个有趣的方法——特别是OUTPUT子句似乎很方便回滚。然而,我仍然需要为非空列定义魔法值,这些值必须是有效的,等等。好吧,如果你不知道数据库的定义,谁知道,@slartidan?不确定最糟糕的是什么-你的解决方法还是我的。。。两个人都很难看,但他们都能完成任务:-如果我是个诚实的人,我两个都不喜欢,@ZoharPeled。一旦像身份和新闻序列这样的东西也加入进来,它就会变得非常混乱。老实说,我怀疑OP这里有一个XY问题。一个有趣的方法——特别是OUTPUT子句似乎很方便回滚。但是,我仍然需要为非空列定义魔法值,这些值必须是有效的,等等。如果您不知道数据库的定义,谁知道,@slartidan?这会将默认值输出为行,而不是列。也许一个支点会有帮助。。。但是,类型和显示为文本的int值都会丢失。但是,类型和显示为文本的int值都会丢失。在那里你能做的不多。无法将值转换/强制转换为动态数据类型。这就是为什么在下一列中有变量类型,以便您可以在代码中进行转换。关于pivot/unpivot,您是对的,但这是我2个月前编写的一个查询,我将其原始发布。这会将默认值作为行而不是列输出。也许一个支点会有帮助。。。但是,类型和显示为文本的int值都会丢失。但是,类型和显示为文本的int值都会丢失。在那里你能做的不多。无法将值转换/强制转换为动态数据类型。这就是为什么在下一列中有变量类型,以便您可以在代码中进行转换。关于pivot/unpivot,你是对的,但这是我两个月前写的一个问题,我把它原封不动地贴了出来。然后你应该把解决方案归功于Nissus Mor,没关系,因为他添加了一些他觉得可以做任何事情的东西。谢谢你提到斯莫尔!那么你应该把尼苏的解决方案归功于他,因为他添加了一些东西,他可以随心所欲。谢谢你提到斯莫尔!
CREATE TABLE pet (
    ID INT NOT NULL,
    name VARCHAR(255) DEFAULT 'noname',
    age INT DEFAULT 1
)
SELECT DEFAULT VALUES FROM pet -- NOT WORKING
ID   | name   | age
--------------------
NULL | noname | 1
BEGIN TRANSACTION;

INSERT INTO dbo.pet (ID)
OUTPUT inserted.*
VALUES(1);

ROLLBACK;
select sys1.name 'Name',replace(replace(
        case
            when object_definition(sys1.default_object_id) is null then 'No Default Value'
            else object_definition(sys1.default_object_id)
        end ,'(',''),')','') 'Default value',
        information_schema.columns.data_type 'Data type'
        from   sys.columns as sys1
        left join information_schema.columns on sys1.name = information_schema.columns.column_name
        where  
        object_id = object_id('table_name')
        and information_schema.columns.table_name = 'table_name'
SELECT * FROM (
   SELECT
    sys1.name AS COLUMN_NAME,
    replace(replace(object_definition(sys1.default_object_id),'(',''),')','') AS DEFAULT_VALUE
FROM sys.columns AS sys1
     LEFT JOIN information_schema.columns ON sys1.name = information_schema.columns.column_name
WHERE object_id = object_id('pet')
  AND information_schema.columns.table_name = 'pet'
) AS SourceTable PIVOT(MAX(DEFAULT_VALUE) FOR COLUMN_NAME IN(ID, name, age)) AS PivotTable;
ID  |name  |age
----|------|---
NULL|noname|1